Few words about heavy scene management.
Working on Going Postal I had the opportunity to work with very large scenes, especially the opening sequence.
The main experience: if possible, break up shots/scenes into smaller pieces! In this movie I wanted to see in some aspects the boundaries of 3d in nuke, so I decided to handle my quite complicated shot in one nuke scene. It involved a three matchmoved greenscreen shot, and a matte painted multiple projected full city establisher, connected with a quick moving cameras (and those motion's blended seamlessly) above a large scale terrain, with constantly changing lighting condition, from daylight to sunset, in a multiple piece 3d projected environment.
Ok, it sounds bad, and it was bad. The result... not so bad, but could have been better :) But it was a really great experience with nuke. Of course, it could have been done in 3d, but the 3d department was full of work, so I did it completely in nuke (not counting of course the mattepaints, and matchmoves)
I don't want to write a whole essay about it, so I just write my thought as quick tips, or guidelines.
Jul 16, 2010
Jun 16, 2010
Firefox crashes
Hi, just a quick note. I'm using firefox 3.5.9, on xp sp2, 32bit. I encountered occasional crashes, that was really annoying. So I tracked down which extension could do this. So first type of crashes was on google searches, this was caused by xmarks, especially the siteinfo feature. If this was turned off, it didn't crash. Second type of crash was with particular sites, like linkedin.com, this was caused by AVG safe search. I hope this helps for someone.
Apr 15, 2010
Loop with offset in nuke
Hi, I just needed to do a loop with offset, on an animation curve. That means that the cycle is continuously increasing or decreasing, depending the value of the first and last key of the loop. In maya, it is called cycle with offset. Unfortunately in nuke there is no option to do that from the menu. I solved this with a custom expression. For this I used 2 custom integer knobs on the node, called "LoopStart", "LoopEnd" (case sensitive!), marking the start and end key of the cycle. Later I will make an option built in the menu, but until that, here is the expression:
curve((((frame-LoopStart)%(LoopEnd-LoopStart))+LoopStart) ) + (floor(((frame-LoopStart)/(LoopEnd-LoopStart))) * (curve(LoopEnd)-(curve(LoopStart))))
How to apply that:
make animation you want to loop. With right click on the node/manage user knobs, make 2 integer knobs called LoopStart and LoopEnd. Set these to the frame of the first and last key of the loop. And then add this expression to the animated knob and that's it.
I made an additional option, because I needed to offset these animations in time many times, so making an extra knob called "TimeOffset", the expressions look like this:
curve((((frame-LoopStart- TimeOffset)%(LoopEnd-LoopStart))+LoopStart) ) + (floor(((frame-LoopStart-TimeOffset)/(LoopEnd-LoopStart))) * (curve(LoopEnd)-(curve(LoopStart))))
This is useful when the readnode is timeoffseted (with a separate node), so link the TimeOffset KNOB, to the timoffset NODE, so you have to adjust it only in 1 place.
With this, I did a lot of medusas floating upwards, each animating differently, but from only one readnode, many timeoffset nodes, and transformgeo nodes.
Hope this will be useful for somebody :)
curve((((frame-LoopStart)%(LoopEnd-LoopStart))+LoopStart) ) + (floor(((frame-LoopStart)/(LoopEnd-LoopStart))) * (curve(LoopEnd)-(curve(LoopStart))))
How to apply that:
make animation you want to loop. With right click on the node/manage user knobs, make 2 integer knobs called LoopStart and LoopEnd. Set these to the frame of the first and last key of the loop. And then add this expression to the animated knob and that's it.
I made an additional option, because I needed to offset these animations in time many times, so making an extra knob called "TimeOffset", the expressions look like this:
curve((((frame-LoopStart- TimeOffset)%(LoopEnd-LoopStart))+LoopStart) ) + (floor(((frame-LoopStart-TimeOffset)/(LoopEnd-LoopStart))) * (curve(LoopEnd)-(curve(LoopStart))))
This is useful when the readnode is timeoffseted (with a separate node), so link the TimeOffset KNOB, to the timoffset NODE, so you have to adjust it only in 1 place.
With this, I did a lot of medusas floating upwards, each animating differently, but from only one readnode, many timeoffset nodes, and transformgeo nodes.
Hope this will be useful for somebody :)
Mar 31, 2010
reloadrange
Ok, long time no post, so here it is: I haven't posted this python script, that is already on creativecrash: glt_reloadrange. Basicly it checks the frame range of the selected readnode, and if it is different that was set in the node, updates it. It useful for example when you start using a 3d rendered sequence, before it is fully rendered. After the 3d render has finished, just select that readnode, and use this script.
Available here:
Available here:
Labels:
nuke
Feb 16, 2010
about me and nuke
In a nutshell a bit about me, and the tools I use. I work for Digitalapes, a vfx company in Hungary, as a 2d TD/compositor. As you may have guessed, we use Nuke for compositing. We were using Fusion back in 2005, and later Shake (in Cubeeffects Inc.) In my opinion, generally Nuke is far superior than these other two (but to be honest, each has its strength). After using Fusion, I found Shake very stable, and in the same time very basic. This is an advantage to learn and understand compositing, but i was also missing a lot of tools. Now Nuke has the speed, is multi-platformed, and well-designed from its basics, and has almost all the tools we need. Only thing that I miss, is Shake's previews and warps, and Fusion's particle system.
Feb 6, 2010
Heathaze gizmo
I always wanted to have a decent heathaze plugin for nuke. My problem with heathaze plugins in other composite softwares was they look so uniformly distort the image. For this reason I have put together one, that is not so uniform. So I'm releasing here my heathaze gizmo for nuke, you can download it from creativecrash.
Note that this gizmo is not a usual heathaze, as it doesn't distort the image, it just creates a red-green noisy image, that can be used with an idistort node as distortion channels. More explanation can be found in the tooltip of the node.
Note that this gizmo is not a usual heathaze, as it doesn't distort the image, it just creates a red-green noisy image, that can be used with an idistort node as distortion channels. More explanation can be found in the tooltip of the node.
Subscribe to:
Posts (Atom)