Tuesday, December 21, 2010

Let's talk about the Gateway

It's not a node, so it's never going to get listed in my goofy top 5 lists, but the Gateway is awesome. It's got a few issues still, but by and large it's so much nicer than the old "import image" command.

First off, it's generally pretty smart about things, so you have to spend less time setting up your aspect ratios and the like. The one issue I have here in PAL-ville is that image sequences still default to 24fps. I've been burned by that once or twice.

Mostly though it's very awesome. You can set up user and project bookmarks, and even establish autoconnects to wherever people are dumping footage.

The best part of it is that you can import your clip and start working with it off the server immediately (and even leave it on the server with no local copy). If you want a local copy the Gateway will send the import off to Burn (which you can set up to be your local machine if you don't have a burn farm). The non-local copies and immediate working are excellent. Once you get used to working this way, it becomes very annoying to have to go back and import the 'old' way.

Yes, the Gateway is scary, but it's a much nicer way to work. I did a whole job recently that involved very little actual flame (some grain and lens flares) and it was very easy to do the revisions without importing any media. Find the new clip, run it through the setup and we're done. Just make sure to check your framerates--haha.

Friday, December 17, 2010

Some real nice general tutorials

http://www.hollywoodcamerawork.us/vfx_sampleclips.html

There's some really useful tutorials and it's amazing they're giving them out for free. The depth and detail is quite good.

Monday, November 29, 2010

Warping Surfaces in Action Tutorial

I talk a bit of shit on the mediocrity of flame tutorials, but Grant Kay's got a great one here and I can only imagine how many times this could have saved my ass in the past if I had known about it,

http://www.youtube.com/watch?v=dRsV4_CFhXU

Trainyard

Kenny got me into the iphone game "trainyard" and after beating all the puzzles and bonus puzzles on the free version and unlocking the bonus puzzles on the paid version, I can say it's a very good game.

Basic puzzles: get the red train to the red station, and the green one to the green station, but it gets very complex when you have to merge and split trains into different colors and have them share tracks and not collide.

The reason I'm posting it here however, is because after all this obsession I realized today it's very similar to how I work with the flame. It's hard to fully explain unless you've played the game a lot (because I don't think the analogy really applies until you're doing 10+ star levels) but there's something to the iterative tweaking and breaking of the train tracks I find very similar to solving a complicated compositing problem.

so get it. the free version is called "trainyard express" and is plenty challenging to get started.

Tuesday, November 23, 2010

Top 5 nodes for November

It's been a while and I just installed 2011 extension 1 today. It's a subtle release, but there is some fantastic new stuff.

5. Sapphire Lens Flare Track/TrackMask. Damn this thing is awesome. Using Action's multi-out for the comp, the lens flare locator and the occlusion mask make this guy lens flare magic. Still not as awesome as having sparks see the same channel editor as the rest of batch, but a reliable workaround.

4. Sapphire Lens Flare. Redundant? NO! Lately I've been using the basic lens flare to add nice washes of color over shots. It's a great way to sneak color into shots in a naturalistic manner. I like "california sun" with the rays setting dialed waaay back.

3. Blur. The new blur node. It's also the new defocus node, the new glow node and a ton of other cool stuff. A ton. There's a built in stabilizer for tracking the center of your blur, the ability to logic op the blurred image over itself for glows or other effects and you can weight the different colors (like in the Glow node) for some really quick pretty looking stuff.

2. Matte Edge. This is a new one for 2011 extension 1, but it's aaaawesome. It's a more complex version of the old edge node, with some more intelligent edge detection, the usual shrink erode and blur, but after that are two sweet new features, a luminance curve and a noise button. These are awesome for a number of reasons, but you should now be sticking these after every gmask you make with softness on it. Here is why:

Gmasks have a linear gradient, which appears abrupt when it hits black and white. I covered this in my post about the RGB blur. The two ways around this are blurring (good, but may spread out your edges too much) or flattening the 'curves' white and black tangents in a color correct (constricts edges a bit, and won't kill some of the polygonal artifacts that gmasks make). This node allows you to use both of those for an effect that is both soft and lovely AND rectify the issues of the other (blur kills polygon artifacting, but you can use much less of it since curves do most of the edge softening). Quite awesome.

The other problem with gmasks in a film (or video noise) world is that they're very inorganic. By being able to noise up the edge without affecting it overall your gmasks will sit in the scene better. Damn this is awesome. (see also sapphire "MatteOps", though it lacks the curve control)

1. Action. Holy shit are multiple outs more usable than I ever imagined.

Sunday, October 3, 2010

When to use what flame keyers

Master Keyer: good catch all, and my general starting place--tends to be the best/easiest for actual green/blue screens. Does a solid job with soft detail. Not very helpful with desaturated colors though.

3D Keyer: Better for desaturated stuff because it takes the luma value into account. Often gives a very noisy and more unpredictable result than others.

YUV Keyer: Good with bright stuff like the 3d keyer, gives nice softness generally.

Monday, June 21, 2010

Pretty nice looking fire in Fusion

http://www.youtube.com/watch?v=IwC4wcpduec

not flame, but there's a lot to learn from their usage of noise and displacements to get nice looking effects that are usable in 3d.

I'm more than a little jealous of the speed of their noise generator and displacements... :)

Sunday, June 6, 2010

5 best features about 2011

1. Hardware Anti Ailasing. Free Anti Ailasing. It's epic and such a timesaver it's beyond words.

2. Action Multi-Outs. Again, so awesome. Render out different cameras, different elements, different mattes, all in one action. No more expressions linking four actions for correct mattes. So great.

3. Nice lights. Lights are really beautiful in Action now, with soft falloff and much more control. My only complaint is you can't control whether or not they throw specular separate from diffuse light, but it's better than it could be thanks to:

4. Shaders. While it's cool that you can now add a variety of different shaders (really just different specular highlights or fresnel gimmicks) to your surfaces, the best thing is you can use a shader node to turn shading off per-surface. No more linking individual lights to try and brighten up a scene correctly. Good times.

5. Substance Noise in Action. I think this is deeper than it appears. The textures are nice, but not mindblowing and will certainly need some love before you can stick them into a photo-real scene, but there's a lot of useful shit embedded in them that's useful outside of making brick walls.

Sunday, April 25, 2010

Viewing - Exposure & Contrast

Handy shortcuts for quickly checking out detail in highlights/shadows etc as well as negating the image via negative contrast values - all done via the graphics card without using any extra processing. This is image display only and will not affect your clips.

> Works with all desktop modules, player and batch except for sparks editing

> First you must enable display colour management by clicking 'Bypass' on the bottom-left of any view - you will see it change to 'Active' with the other controls in there (there's also RGB/Matte and Linear/Video/Log switches)

Exposure - Hold Shift+E then Drag cursor L/R
Contrast - Hold Shift+C then Drag cursor L/R

You will see the values changing on the bottom-left and theres a big [RESET] button there too that appears once you start changing values

Viewing R G B Channels seperately in batch

-= default shortcuts (batch only) =-

To view an individual Channel -
Shift+R
Shift+G
Shift+B

To go back to viewing combined channels -
Shift+Z

Saturday, April 3, 2010

Camera Tracking, 3d Space and Other Stuff



Okay, so one of the biggest bottlenecks in doing what I consider to be high-level work is understanding camera tracking and--more importantly--what that camera tracking software gives you.

In brief, I'm going to show you how to do a simple camera track in Syntheyes and how to position shapes into that track correctly. I always felt this was relatively elementary stuff, but I've had to explain to to far to many bright people, so here we are.

We'll start with what should be a relatively easy camera track. It's easy because it has:
1. Lots of Parallax (which is to say, camera movement, not to be confused with tripod movement where the camera itself doesn't move through space.)
2. No moving objects.
3. No fast motion (twitches are generally fine, whip pans are not)
4. Lots of detail.



So I ran it through Syntheyes (hit the big green button) and got a good result. All the 3d points stick to their trackers (that's a nice giveaway if a bad track) and I'm happy with it. The only issue is that the scene isn't oriented correctly:
As you an see along the ZY orthographic view the floor is rather off angle. Easy enough fix for that, in the coordinates pane in Syntheyes.

I've noted where I put the Origin, Left/Right Coordinate (the X axis) and the (Z) Plane coordinate. For a better explanation of how this works, check out my favorite CG tutorial of all time over at the Syntheyes website.

Now we export this to Maya/Nuke/Flame/AE/Whatever. What you will get on the other end is effectively the same, and maybe this is where people fail with understanding this, but here is what you get:
-A Static Scene of points in space
-A moving camera.
That's it. It's very important to remember that the scene is static. It's also very important to remember that all the annoying locators or axes now cluttering up your scene are there for a reason. The amount of times I've seen people delete or ignore them is numerous. Coincidentally, these same people often blow what I consider to the crux of camera tracking, and this is the reason I'm spending a good piece of my afternoon writing about it. This crux being the correct spatial placement of objects in your 3d scene.

Here's the big secret: If a locator from the camera track sticks to a point on the backplate, placing an object in the same place as that locator will make it stick as well.

Basic basic stuff, I know. I also know I got in a few heated discussions with a guy who professed to be an expert at tracked cameras and I had to waste valuable time explaining why close wasn't cutting it when all his objects were hovering a foot off the ground. Turns out he was dicking with the camera and locators (which is allowable, so long as you move them as a group.) The shock.


See you in Part 2.

Camera Tracking, 3d Space and Other Stuff part 2




So I want to place that awesomely textured soda can into my scene. I can eyeball it, but that comes with a lot of trial and a lot more error as I'll demonstrate in a moment. How do we go about setting this giant can on the ground plane, or, even better (cos who doesn't like a challenge?) on the seat of the chair!

By eye:

Went to frame 100 and placed it by eye. It looks great!

see? Let's preview the motion:



Oooh. No good! Where on earth did I go wrong??? Let's look at the front view:


Now we can assume, as I italicized earlier, that each of these points touches a physical object in the scene. The can is not very close to any of them, so it now makes sense that the can appeared to fly away in that last video. There's two ways to alleviate this, easy and less easy but still easy.

The easy way to get your object to sit in the scene is to make it the child of one of the locators with no translation of it's own.

The slightly less easy way is something I find helpful in flame a lot. The reason I find it so helpful, if we're being honest, is because I haven't gotten around to learning Syntheyes' coordinate system very well so my cameras often come in super small. They work fine, but any image plane you add to the scene will be huge. So I group the camera and locators under an axis and scale them way up (generally 3000-10,000). I could still do the parenting trick, but it would upscale anything downstream and defeat the scale-up (the track would still work), so I have another way, and here it is.

learn it well, it will safe your ass one day.

Step 1: Find the locator you want your object to share space with and select it (rename it if you like) in the camera view.
Step 2: Go into an orthographic view (side, top, front--it doesn't matter), locate your desired point and place your object on it. Note which view you are in because once you've resolved the position for those two axes you don't want to touch them. In my case I was in the side view so I've resolved the Z an Y coordinates, meaning only X is left to position.


Back in camera view, pick the slider for the one unresolved coordinate, in my case X, and slide it until the object rests in the correct place according to the shot.

then you render it out, and viola!







Camera Tracking, 3d Space and Other Stuff - in summary

So, that was a really long way of saying this:

- Resolve your coordinates one at a time, using orthographic views (in flame, down in the bottom left corner of action you can change the view from "result" to any number of other things, including "Front", "Top", and "Side". It's much easier and faster in 3d software, but the principle is the same. sub-note: alt+2,3 and 4 will split up your flame view into four assignable windows)
- Once you've resolved two orthographic views, you can resolve the third one by eye in the camera view by sliding it around.
- Don't take shortcuts. Camera tracks speed up so much of your 3d and compositing life that you can afford to take your time getting them right.

Thursday, April 1, 2010

Node Highlight: RGB Blur


Pretty dumb node for my first node highlight you say?

Nay!

RGB Blur is a lifesaver!

It's first and primary duty is to smoth out gmask shapes. Gmasks always have a linear gradient which leaves a hard line at both the black and white ends of it. It completely sucks and there's no way to turn it off (Nuke, by contrast, has multiple gradient settings for gmasks), so what you do is pipe said mask into an RGB Blur and blur it up. Do it by eye. When the hard edge goes away, you win! Completely necessary.

The only thing that sucks about this is when you have to blur past the edge of the frame, which, because the blur doesn't have an imagination, will produce results that are less than ideal--vignettes for example tend to get this problem but are still better looking blurred than not.

Similarly, the "use matte" isn't all that useful as it will blur in areas outside of the matte (which is completely understandable, but makes it so you might as well just logic op-blend your shit together vs blurring through a matte) If you want to blur inside of a matte and not suck in the outside-of-matte areas, Sapphire's "Matte Blur" does a nice job of this.

In fact, the regular sapphire blur is probably generally nicer than the stock blur, but I think it's bad policy to use plugins when they aren't specifically necessary.

Wednesday, March 31, 2010

Top Five Nodes March

1. Color Correct. good old standby. Due to a bug I found in the 2d histo node, I've moved over to using the CC Curves a ton for my clamping and histogrammy activities, and I don't know that I'll go back. For one, you can easily round off your clamps, which is always nice, and two, you can do much saucier things than you can with a histogram. Bonus for the front-back matching and still being a relevant node a decade or so later.

2. Sapphire Warps. Bubble, again, specifically. I bet you could build some reasonably not shitty looking flames by stringing a few of these together. Later today I'm going to take a swing at making steam out of them.

3. Colored Frame. It's not very powerful, but it's so effing useful. Desmond Hume isn't my constant, these guys are.

4. Action. The Paul Newman of flame nodes, which is to say it's had a long and awesome career but it should probably retire and let some new talent shine. Since there is no new talent (fingers crossed for NAB) he's still out there, giving us "Slapshot 3" or wherever that analogy goes.

5. Batch Paint. Really, you should use it. You can even justify doing roto in it (only for very high motion cos it's swiiimy) because it is editable.

One avenue for nice contact shadows (in a limited context)


I just did a pack-replace spot yesterday where I had to add new 3d type to some live action type. While I'm reasonably confident I could have done a shitty job and explained how it was waaay outside of their budget to get a full object track and 3d render, I came up with a nifty solution. Small jobs are fun like that. They allow for creative solutions to unglamourous projects (like a pack replace)

Object track in Syntheyes (I love you Syntheyes!), exported to Maya, converted to an FBX (the direct Flame Action out of Syntheyes came in as a bunch of axes animated on their position and not one overall position & rotation axis), parented my 3d type to the axis and went about shading it up.

Using a few lights and a blurred edge detect to allow for some faked ambient occlusion (which really, if you think about it generally is just some edge shadows anyway, I got the type looking pretty close to what I had to match to. The hard part was the contact shadow.

Since the shot is reasonably 2d and the shadows fall onto a plane that's flat to camera, I used Sapphire Rays with the light outside of frame and the rays reasonably short to create the shadows. A color correct to make the falloff edges sharp and two color corrects for the shadow color and I'm at least fooling the layman.

So there you go, Sapphire Rays for shadows, in a limited context.

(so limited that my quickie mockup above looks not-awesome, but at least shows the possibility. Serifed type causes some problems, and there's a few ways to trick the edge rays, but I have some roto to get to!)



UPDATE NOTE: with Ambient Occlusion and actual Cast Shadows now in Action, this tip is obsolete!

Monday, March 15, 2010

Making the Master Keyer Work for You.

The Master Keyer's pretty sweet. You know this, and I know this. It has one glaring issue as I see it, and that is the inability to input a gmask or axillary matte. It handles foreground/background integration very well, but it's rather rare that said foreground is without tracking markers and other crap that needs to get masked out. Only you can't mask it out because there's no gmask input so you're totally effed!

There's a simple fix.

Make your cleanup mask and comp the average color of your chroma-key screen (i usually just use a CC to get the RGB value or pick if off the little proxy in Batch) through that matte over your key-in footage. I usually do it over the foreground layer as well, but should you have a graded foreground and a flat key-in, just comp the graded version of that same blue.

Now, when you run the MK you'll get all that blue removed automatically and get to use the sweet foreground/background tools. I used this trick to get great soft edges off a completely out of focus dude yesterday.

Sunday, March 14, 2010

Ambient Occlusion in Flame

I had a joke between my assistants after one of them wrote me a spark that was a mux node only faster (which begs the question, why is a mux node slowing ANYTHING down?) that by the end of this year I want to see something that makes ambient occlusion (AO) in flame.

Then I started to read up (only in the most vague sense, because the math is very heavy) on Nvidia white papers about AO, the logic being that if the most expensive Nvidia graphics card can do AO, flame should be capable on some level.

Granted it has to be written into the software, which it clearly isn't since flame's 3d handling was written a while ago, and while it's super useful for compositing, it doesn't offer anything that your modern hardware graphics do (ray tracing, AO, shadows, self-shadows, soft shadows, etc...)

But it got me thinking about how to accomplish it. After experimenting for a bit using depth mattes and normal mattes (both easy to make in flame) based on one of these whitepapers where I recognized a few key words and got noplace special, and now I'm trying another likely failure with a light dome. The light dome got me thinking about the light domes of old, which are pretty much an AO cheat, mixing 30 or so shadow passes arrayed in a globe.

This too, would not work in flame: no shadow rendering. Then I thought of a cheat, which I think will work, but I'm writing this before I test it out. If you put cameras in your main scene, and orient them with the same spread as lights, you can render out objects that you want to cast shadows, then use the mattes, coming into a later comp via projectors that match said cameras and linked to the things to cast said shadow onto and this should give you a working 3d shadow. Do this thirty times with a lot of linking expressions, and in theory it should give you AO. I'm a bit worried about how the self-shadowing is going to work, but we'll see.

Friday, March 5, 2010

Issues with the Flame Particle system

Flame's particle system reminds me of Maya's Dynamics because both were really great when they came out and haven't been touched since.

Flame tried to alleviate this to a minor extent by adding particle presets. These presets are nice, but they also underscore how difficult and limited the particle system is. When you load one up you generally get a reasonably nice effect not to dissimilar from the old Particle Illusion ones (albeit without animated sprites, which is a big deal). The problem shows up when you need to tweak said effect at all. Now you're wading through convoluted expressions and manipulators that don't scale well and are slow to update.

I think the best example is getting particles to fade off. The expression is "transparency = lifetimeI", which is pretty straight forward. Particles will be born at full opacity and fade in a linear fashion over their lifetime. What if I want them to fade up for the first, say tenth of their life? Now i've got some math to do, and quite honestly I don't know how to write that expression. I wish I did, and likely I should learn, cos a little bit of fade up is a nice thing for most particle effects. Either way, it's a bear to do.

Adding turbulence is even more complex. John Montgomery has some great tips at FXguide, but shivers man, that's a lot of code to memorize to get particles to do pretty much the first thing everyone wants particles to do.

I'm upset about this because I think Flame's future is in the commercial space, and the commercial space requires two things: flash and speed. Particles are like lens flares: they make everything look more expensive. People love particles. They're such a great way to spice up a boring pack shot or end tag. They season other effects so well. A few months ago a client asked me if I could put particles on their endtag. We had about half an hour before delivery, and I knew I would have to spend at least that time messing around with different functions and manipulators to get anything even remotely worth looking at. I want a new particle system so I can answer "yes" to that question and send the client away amazed at what me and the flame added to their commercial.

So please, update the particle system. Please. After effects kids and their $400 Particular plugin are snickering at me.

What I would like to see:

1. A vast increase in speed. Video games (video games!) have better, faster particle systems (and hardware shading, if we're being pedantic). I want millions of particles and superfast interactivity. Autodesk employs a large portion of the particle software brain trust (maya, max, soft), so talk to them. I'm using a flame; it's renowned for it's speed, so make the particles impossibly fast.

2. Ramps for controls. Ramps to dictate size, transparency, how much forces effect them, speed, color, etc.

3. Simpler, easier to manipulate forces. Specifically turbulence, and preferably with a few different noise patterns in it for different turbulences. There's a texture set for Cinema 4d that has all kinds of different noise patterns and it's fantastic. While that doesn't directly parallel, the fact that most software have only a few turbulence patterns is weak. Go crazy on the turbulence.

4. As a counter point to #3, I'd also like more complex controls. I'm not sure if the current system can't do per-particle or birth expressions, but they'd come in handy from time to time.

5. Animated sprites/per-particle slips. Old Particle Illusion (and Combustion, and Motion...) get almost all their "wow" factor from the fact that the 2d sprites animate per-particle. This needs to happen if only because it was in baby-flame SIX YEARS AGO.

6. More particle types. Multi point and multi-streak would be a start.


The one thing I don't want to see is a few new features, patches onto the existing system. Flame, and specifically Action already feels super cobbled together (hello action transfer modes!). I want to see a full on re-write, re-think and re-integration of how particles can be used in flame. It would be a cash cow the PR people could milk for years, so fucking get on it!

Bottom Five Nodes/Features February

1. Desktop "Compositor" and "Quick Comp". Compositor is a watered down Action that actually takes longer because you have to up the resolution to see anything worthwhile. Using it is like staring through a time warp. I saw Mike Semour fire it up once in an FXPHD course, but I'm willing to guess it was for novelty alone. There is absolutely no reason to keep this archaic alternate way to skin a cat in the software. Quick Comp sucks as well because it's just a Logic Op Blend, but has only like two features. I suppose if you are afraid of Batch and can't be bothered to divide your fills, then this guy is your lazy-assed bread and butter.

2. Desktop Logic Op. I've got a bit of an axe to grind with the Desktop buttons in general. Prior to Batch they made sense, but now that all those features and many more are available in Batch, and you can preview your results, animate your results and everything else, the use for desktop Logic Opping is mininal and could probably be grouped with Quick Comp and others.

3. The lack of a color warper on the desktop. Yeah, I know it's inside the CC node, but that is a huge pain, mostly because any CW setup you save off the desktop goes into your CC folder and you have to go hunting for it, should you load said setup into a CW in the MK or Batch.

4. The Keyer. Seriously, I hate it. Use the nodes in Batch. As a bit of an aside, why the hell does the MK name the output "keyresult" even after you've named the setup. That's just silly. Fuck both these nodes. Use Batch.

5. Action's particle system. I've just finished a job where I used particles reasonably heavily. Said job also got me to be an expert on faking particles, since using the system in Flame is convoluted. I'll write another post about why I think it's so important that this feature get updated, otherwise this bullet point is going to be seven paragraphs.

Top Five Nodes February

1. Sapphire Warps. Specifically the "Bubble" warp. Holy mother is it useful. The default makes it look like ass (see also: many other Sapphire defaults) and a reasonably useless random distort. But if you dial the octaves up, then mess with the frequency and aplitude you get controllable and scalable fractal edges. It's great for making gmask shapes organic and noising up edges at high frequencies. At low frequencies, it's great for general distorts.

All around, just fantastic for getting some organic nature into your comps.

2. Matte Curves. This really should be on my top five for December, but this is the first post, and Matte Curves are totally sweet. They're basically a glorified "blend" logic op. The curves affect the gamma in your foreground and background mattes. Whenever your key's edges are just a little too dark or light tweak this before you start wading through edge erodes, flashes and blurs. I've had it save some nearly impossible keys.

3. Batch Paint. Much like the modular keyer and batch and all the "nodey" stuff, people are generally scared of Batch Paint. I know I didn't use it for years. That's a shame, because it's awesome. While it doesn't have all the features of desktop paint (autopaint, some of the wash modes) it's so much better. You can add layers, clone from layers, repo layers, scale them. Then you can swap your inputs and all the effects are still applied. Works great in proxy mode to boot. Never have to re-paint something because a grade changed again. Always always always start with batch paint now.

4. Color Warper. I used to be about 50/50 on the CC/CW front in my setups. Lately I've been going more to the warper. Most of my work involves some look creation, and it's so much faster to whip around the trackballs, pull secondaries and bend gamma curves in the CW. The CC's still a great node, but for trying out different color looks, the CW is number one. (or four)

5. Sapphire Textures. Substance Noise is a nice addition, but it's still rather clunky in it's interface (loading different textures as opposed to a drop down menu), and few of the textures animate in any useful way--most just break up into layers. Sapphire, the old standby, again, has awful defaults, but once the octaves are dialed up and the frequency adjusted, Textures really shines. The basic "Folded" is my favorite and the one I use 80% of the time, but the others can come in handy from time to time as well.