

I know I sound like a broken record to some, but I had this footage sitting on my workstation and didn't want it to go to waste.
Since my earlier blog about normals-based relighting of rendered cg elements (something that can obviously be done in the original CG software if time allowed), I'd written a short piece on relighting real-world footage. Since then, I expanded on it slightly and now I've put it up on YouTube as a quick technique video.
A detailed video covering the normals-based relighting process is located here.


Should I go on?
Well, I am.
I just posted a big (to me) update to my Shake Tools page on the main ShakeArtist webpage. It's like a baby I thought would never be born.
The DynaCyc toolkit is a spiffy little thing that contains three main tools. The first is called "Forest" - it was originally developed for algorithmically generating dense areas of shrubbery, grass, trees, plants and so on (thus being called "Forest") but I quickly learned that it was also rather handy for replicating a handful of images of people into a large crowd. (That icon is a couple hundred tiny little me-s, wearing dark trenchoats, fedoras and carrying rifles.)
There's a training video for DynaCyc available here.
The other two tools in that toolkit address an issue I used to see a lot when teaching and realized it would be a helpful tool for everyone, not just students. The first one allows you to set a start and end point for an object, indicate an apogee, start time, end time, etc, and have an arbitrary image transformed from the start to the end, arcing in a true parabola (that you can skew to simulate perspective) It seems a lot of people don't realize that freely moving objects ALWAYS travel on a parabolic path (so long as they're in the Earth's gravitational field that is). The last tool, Volley, is what happens if you combine the first two... We can launch hundreds of objects, with a wide variety of adjustable parameters, all driven by some fancy chaos math.
Did I mention that all the tools in the DynaCyc toolkit generate a z-channel when they're done? Oh yes. Yes they do. So it's easy to insert other objects in the midst of them or even to combine multiple instances of those tools in the same scene.
OneLight Plus is another great kit. Using a rendered normals pass (worldspace please! Object/local normals are for game engines), a diffuse pass, and an ambient occlusion pass, this tool is able to simulate additional light sources being cast onto an already rendered object. The video showing how it normals-relighting works is here. Lightmix is a companion tool that makes it easy to tune the apparent focus, light color and intensity of several of these lighting nodes (and can also come in handy for other lighting tweaks using more traditional methods)
I still don't have the training video for this one online yet, and it may be the hardest of any of them to use. If you're a Shake user, though, you can download the uv-retexturing tool itself from this page and get the video when it becomes available. It makes it possible to do fancy things like add damage to a rendered element, track additional details onto digital doubles, completely replace the texture on an existing render... and it works with up to 16 separate textures at once, each up to 8192 x 8192. Imagine having a cg triceratops (like our little icons) that gets beaten up: you can add wounds, dirt, dust, scratches, etc right there in the comp and they'll stay with him as he thrashes and moves.
This last one for today is a tool I wrote specifically as a companion to SynthEyes, but it can be used regardless of the visual effects pipeline it's a part of (as long as they have Shake of course). It applies and removes (in an optically-accurate way) lens distortion on plates. You can remove distortion from a film plate, or apply it to a CG render, or even use it to analyze the plate to determine how much distortion is there. There will be a tutorial for that one eventually as well, but for now you'll just have to wing it if you download the lens distortion tool from here.


As I'd mentioned before, this blog is going to get more technical and I'll be spawning off a personal blog shortly. For now, bear with me non-technical readers: I'm about to talk geek for a bit. When I was teaching at FullSail, a lot of my "curriculum development" time, as well as a substantial portion of my free time, was spent doing R&D on advanced topics - things that are done at a handful of visual effects studios around the world, or even things that nobody was doing yet except in university settings.
Things like relighting using what's called a bent normals pass (a special render pass that contains information about the direction a point on the face of an object is pointing) - a process that enables you to gain a fair bit of control over how the rendered object appears to be lit, long after the frames have left the render farm. Other experimental tools like an algorithmic forest and crowd generator, or today's topic: retexturing in the comp, instead of at rendertime.
There are a couple of tools for doing this already: basically, you render out a diffuse color pass, full intensity colors, no shading, but instead of finished shaders, the elements are textured with these especially bright and colorful red/green gradients. The color of each pixel corresponds to its relative location on the UV map, so even after the texture is wrapped around an object and that object viewed from an arbitrary camera position, each pixel still holds information about its original position in UV texture space.
Now, most of the tools I've seen for this sort of thing will apply one texture to one UV pass. Certainly an exciting demonstration, but hardly practical: a typical scene will often have dozens of texture maps at the very least, frequently hundreds, even thousands. Naturally, each of these may be rendered as a separate UV pass, and each separate element brought into the comp: but that can make for some pretty unwieldy scenes and a headache to maintain all those passes in the pipeline. Re-render an animation, and the number of potential UV-passes can quickly make each iteration into a big undertaking.
Of course, if you're dealing with 8-bits per channel UV-coordinate textures, like a typical JPEG, then your possible texture size to project onto that is fairly small. 256x256 to be exact, and for practical reasons, maybe only about half of that. Hardly anyone even uses textures that small in games these days, let alone feature films. If you crank those UV-coordinate textures up to 16-bpc, now you wind up with some pretty impressive texture space: each of the red and green channels can now represent up to 65,536 coordinates: the equivalent of 16 4096-pixel-wide textures. Even if we want to be similarly conservative like in our above estimate, you can see where I'm going with this...
So my tool, which I call "OpaqueWhite ReMap Plus" uses nice, big UV coordinate textures, all generated by your rendering application in 16 or 32 bits per channel, rendered as described above as an unshaded UV-coordinate pass and is designed to accept up to 16 separate textures at a time, anywhere from 256x256 to 8192x8192. I provide a collection of high-res, high-bit-depth UV-coordinate textures for users to set up their render with, and a tool that is able to interpret the data from that render pass and automatically re-plot the texture in the render-specific UV space.
There's a lot more stuff going up on the site shortly. It's ALMOST THERE, I swear. To those that might be interested, you can learn a little more about and (soon) download my Shake Tools here.
More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS



Void (Default)
Life
Earth
Wind
Water
Fire
Lightweight