Nuke-Python: Contact Sheet Gizmo
June 27th, 2010

contactsheet

I was halfway through scripting a contact sheet generator that could be used to quickly identify lighting inconsistencies across an image sequence when Dan pointed out that there is already a Contact Sheet node. I ended up making a gizmo that builds off the existing node because it doesn’t seem to allow you to set a frame interval.

I also added an option to set the format size based on individual frame size (so each preview image could be 960×540 without doing any extra math). It’s probably not very efficient, but it was fun making my first gizmo.

Download: contactSheet.gizmo (06/27/10)

Note: You have to hit ‘Create’ after switching size modes or changing frame interval. I also haven’t gotten the check boxes to work one at a time yet. Here is the Python on the button: contactSheet.txt.

Things to look into:
* Grey out input fields and only check one box at a time.
* Stop all the nodes created inside of the gizmo from opening in the properties bin.
* More procedural way to set frame interval than dropping Hold nodes inside the gizmo.

Final SIGGRAPH
May 27th, 2010

SIGGRAPH 2010

I had my last SIGGRAPH meeting tonight. The illustrious Mike Dixon will be taking over as President come next term. We handed out some SIGGY Awards, gave a bunch of heart felt speeches, and then took some pix. Thanks for everything, guys.

Basic script started…
April 10th, 2010

So, I was trying to help someone out on VFXTalk and I wrote this little script. Basically, it a quick and dirty way to create a read node in Python that will fill in the frame range automatically, since it doesn’t do that by default apparently. Long story short, it think it’s a good start for something useful; we’ll see what I come up with.

#opens file browser, check sequence box
inputPath = nuke.getFilename(”input”)

#splits file path at the “-” in the sequence range (0-100)
tuple = inputPath.partition(”-”)

#converts the last frame number to an integer
tupleInt = int(tuple[2])

#splits the sequence range from the file path at the “space” between them
pathTuple = inputPath.partition(” “)
path = pathTuple[0]

#creates Read node with the file path and last frame number
read = nuke.createNode(”Read”)
read.knob(”file”).setValue(path)
read.knob(”last”).setValue(tupleInt)

Look, a movie.
March 21st, 2010

http://www.imheremovie.com/

This is pretty neat, kid.

3D Digms
February 8th, 2010

Nuke SIGGRAPH Session Files
January 27th, 2010

My SIGGRAPH Student Session on Nuke Essentials went really well. I added comments to the example file I used during the lecture and made it available on the Collective.

Nuke Essentials on the digmCollective

Franz on SideFX
January 25th, 2010

Ahhhhhhh! As much as I not so secretly despise this project, I’m pumped as hell that it was just featured on SideFX’s website. It’s freaking on the front page!! I’m also pumped that they feature a before/after of the fire hydrants. Dan’s sim came to comp looking basically as you see it in the OpenGL. So, I really like how the water pillars came out. Happy to see it in the article.

Gymnasts and Reels
January 17th, 2010

Went to my sister’s gym so I could shoot some action to roto for my demo reel. Should have brought a brace for my wrist, though, after holding the EX1 in my right hand for 2 hours.

PLE for the Holidays
December 14th, 2009

Jack and the Box (Boxman)
December 9th, 2009

Considering we spent zero time on it during Advanced Animation, I think it came out pretty good! I didn’t get to do the plate prep I wanted to, but I am saving the footage in case I get the chance. You’ll notice my acting is a lot like how I socialize at awkward parties.