Showing posts with label tools. Show all posts
Showing posts with label tools. Show all posts

Saturday, April 3, 2010

Frame Checker 2.0

This is the first of my Maya independent python scripts. After authoring a few tools that would really be best suited for use independent of Maya I learned Qt and used py2exe to create a standalone version of the frame checker. I had originally written Frame Checker in python anyway, so I literally just recreated the ui in Qt Designer and then setup the signal connections. Using Qt for the first time, I found that signals and slots are a lot like events and listeners in as3, so it was a piece of cake to get used to, not that Qt is really tough to wrap your brain around in the first place. PyQt4 and Qt Designer were really awesome to use, and I'm sure this won't be the last of the tools that I port to Maya-independent-land.

You may notice that the GUI now looks Nuke/Maya 2011-esque and that's because I went with the 'plastique' style. I like dark colors, as you probably can tell, and the other available styles didn't seem to handle the dark colors as well. Another added bonus is that the .ui files that I created with designer will be ready for use in Maya 2011, can't wait for that 8).

Still gotta get together a unified location for tool docs, but I'll get to that later. Expect the batch file generator some time in the near future though... For now you can grab the new frame checker at www.bohdon.com/scripts
To use it just unzip somewhere and run the exe.

Monday, March 22, 2010

Updates

boSmear 2.0.1
  small bug fix - the loop connecting verts to lattice points would sometimes be offset incorrectly

If you have access to boSmear go ahead and grab the update!

Saturday, February 27, 2010

Frame Checker

I had a util in previous versions of boUtilities that found missing images in a sequence. Super helpful! except it only worked with 4 frame padding and a strict image.#.ext format. So I've updated boUtilities and provided a much more flexible python version of the frame checker. The new version allows automatic or controlled frame ranges and padding. It works with a much wider range of sequence naming formats and provides some useful output such as frame range summaries on both found and missing files. It was a fun lesson in more advanced reg exps (like using lookahead assertions), and there are still ways it can be improved, but for now... feel free to grab!

bohdon.com/scripts/boUtilities.mel (2.3)
bohdon.com/scripts/boFrameChecker.py


Tuesday, February 23, 2010

Updates

So I've been updating things silently, and realized it'd be best if I post what and when I update on this blog. Here's some recent things:

boUtilities 2.2:
  Added new utils!:
    Lock File Texture Paths
    Unlock File Texture Paths
    Find PSDs
    Find Multi-Shader Geo
    Render Stats
    Z Depth Shader
    nCloth Preroll Utility
  Changed the layed to be tabbed, for space reasons (it was growing)
  Separated some larger utilities into companion scripts (currently 6)
    Check the description for all required/companion mel scripts

Triggers 1.3.9:
  Referenced objects can now be trigger objects
  Mac compatible

Ghosting 1.5
  Selected time range is used to create multiple ghosts at once
  Selected keys are also used
    (ghosts are created at each selected keyframes time)

As always, updates are available on my scripts site!

Monday, February 8, 2010

Z Depth with Maya and Nuke

So large environments just don't look right without atmospheric depth, and z depth outputs are usually the easiest way to get such an effect. I figured I'd make the whole process easier by automating the creation of z depth shaders in a scene.

The shaders use samplerInfo nodes so they're compatible with pretty much any renderer in maya. The other advantage is that you get motion blur, depth of field, and the same antialiasing as the beauty passes rendered into the z output, so the results are very accurate. There are also a lot of nodes for tweaking falloff such as a remapValue and blendColors node, so you may want to look for them to get more precise control.

Anyhoo... with one button you'll be able to apply z depth shaders to all objects, while preserving displacement shaders as well as materials with transparency. Give it a try and let me know if it helps. I've also put together a 15 min tutorial on how to use it, as well as comping the outputs in nuke, so check it out!


bohdon.com/scripts

Wednesday, December 23, 2009

boSliders


So I haven't had much time to write obviously, but I wanted to get this one out there. I'm sure there are tons of methods of creating a facial rig, but the method I'm most familiar with is Jason Osipa's blendshape and slider setup. boSliders is a nice tool for quickly making sliders and quickly setting them up. It's main purpose was speed, so I designed it to use marking menus to make things quicker. Feel free to grab it off my scripts site and give it a try! There's a small amount of documentation (mostly unfinished) found at bohdon.com/scripts/docs. The one thing I was sure to finish is the explanation of the major Corner Interpolation types and how their useful. I'll get to finishing it sooner or later, but in the meantime just know that everything is in the right click menus. There's a lot of features, so just try to poke around.

You'll need boRightClickManager to use the script too, so grab that if you haven't!

Tuesday, September 15, 2009

boRandomizer 1.1

So I realized that the channel randomizer in this script was only grabbing the main attributes (attributes directly on the object that is selected). I've modified it so that you can select attributes in the channel box from both the main object, shape, inputs and outputs. This is mainly so I can easily randomize values for things like blendShapes and poly operations... update's available on bohdon.com/scripts

Monday, September 14, 2009

Multi Blend Slider 2.1

Just updated the multi blend slider tool (part of boBlendShapes.mel) so that it works on both multiple targets and multiple bases (it also works if you select the actual blend shape nodes). I also changed the little marking menu to buttons, so you can easily click 0, .333, .5, .666, and 1. Anyhoo! Enjoy.

Thursday, August 27, 2009

boRandomizer 1.0

I've come across a few situations in which I really wanted a nice randomizer, on both an object level and component level. It helps you add some imperfections to your models when needed, and it's great when you've got a ton of objects to lay out, like leaves or grass. Anyway... I made this cool GUI for randomizing just about anything. It also lets you select attributes in the channel box, and randomize their values (useful for randomizing colors and other non-transformational attributes). It works across multiple objects and you can sync nodes/channels etc. To access a bunch of other options, right click on the Translate, Rotate, Scale, or Randomize buttons and you'll see a marking menu including options for X, Y, Z, rounding values, uniform scaling, absolute/relative, world/local/object (and gimbal for rotations). So check it out, it's handy.

Tuesday, July 7, 2009

Transform Tool Hotkeys for 2009

So I recently discovered that maya 2009 changed the functions of the w, e, and r hotkeys. They're still move, rotate, and scale of course, but a more specific function has been changed.

So for example with the move tool. When you first select something, and the move tool is on, the axes will be green red blue, and the center square will be yellow (signifying that middle mouse will move in all three axes). If you click on the green arrow it turns yellow (signifying that now middle mouse will only move in that axis.) Well the difference is that in 2008 and before, pushing 'w' again would reset the constraints (turn the center square yellow again), but now it does nothing. So if you want to go back to middle mouse working in all three axes, you have to click on the center square. I'm so used to being able to hit w and regain my middle mouse functionality that I went ahead and wrote a script to fix it. It's a part of boWorkspace.mel (which doesn't really contain anything else right now), so you can grab it if you want. Don't forget this is just for 2009 users.

For the more interested, the dumb technique that I used to fix this is just making the w, e, and r hotkeys switch to the select tool, then immediately the move, rotate, or scale tool (respectively). There is a small possibility that somewhere someday you may want to get rid of that, so there's a button in my script for setting everything back to default.

Check out the video for a representation of what I'm talkin about.

Friday, June 19, 2009

boSmear 2.0


So I recently returned to the magical boSmear in order to make it better. The setup I had in 1.x versions was a little complicated, involving follicles and lots of unnecessary junk. This new version is far superior in both speed and economy. The setup for this smear is instant, and with the option to turn it's weight on and off (a float from 0 to 1) you can effectively eliminate any speed detriments and animate as if it weren't there. This let's you add the smear at the beginning of your animation work period but still avoid the speed hit of a big lattice until you are ready to animate the smear itself.

There's a really sneaky technique that I used in order to make this version possible, so I thought I'd describe it briefly. The new smear 2.x setup creates in the end around 13 nodes total. Compared to the last version, which created around 600+ nodes, this is a huge difference made possible by directly connecting the vertices of the smear mesh to the deformer. The problem when trying to do this simply (create a mesh, create a lattice, connect) is that the lattice will inevitably collapse on itself, considering the fact that lattice points are not 0 0 0 by default, but the mesh verts are (and for good reason, it gives them the ability to easily be "zeroed" out). Lattice points are created with worldspace coordinates, so naturally you want to convert them to 0 0 0. Fortunately, when creating a deformer on something, it creates a shapeOrig node (like smear1latticeOrig). This node holds the worldspace data for the lattice points, and effectively turns the visible lattice points to 0 0 0. So the trick I used was to create a cluster on one of the lattice points and then delete the cluster right after it's created. This just simple "freezes" the lattice, making it ready to be plugged by the smear mesh! Long story short, creating deformer on a non-freezable object allowed me to avoid having a separate cluster, curve, etc.. for each vertex on the smear mesh. Anyway, it's a strange technique but it works pretty effectively.

I previously had smear 1.0 up for free, but I'm thinking about asking for a small fee, like $2 or something. It'll be free to Ringling students ofcourse :D. Just donate on the scripts site or drop me an email/comment if you're interested.

Oh one last thing, Keith Lango just recently finished an animation using the older version of boSmear, so go check it out! www.keithlango.com It's seriously awesome (it's the Funky! video).

To start things off...

...some, if not most, of the mel scripts that I write are made readily available (for free!) on my scripts site (bohdon.com/scripts). Other stuff may not be as readily available, but requests are welcomed! Just comment if you're interested in something and I'll see if it's something I'm willing/able to share.

Thursday, April 30, 2009

Bűvös Kocka

After so long, I have finally defeated the daunting task that is the animateable Rubik's Cube rig.


It can use any pieces you give it, plays forward and backward, scrubable, and it's really cool. The setup is pretty much fully automated, so it's real easy to make em, although there are things I would like to improve. Anyway, hope you liked it!

Wednesday, April 15, 2009

Timing Charts 0.5

Just about ready for testing. This video shows some of the cool new features like default color schemes (saved to prefs) and the chart marking menus...

There's a lot here that isn't being shown, but maybe in the next video!

Thursday, April 9, 2009

A tiny peek... at Timing Charts

So naturally there's something I'm always working on... but I just happen to think that this "thing" is especially cool. Here's a peek of something in the works...


more to come...