blur, warp, or tweak a loaded image?

Started by scott8933, March 18, 2008, 08:00:23 PM

Previous topic - Next topic

scott8933

I'm using an image loader to create a specifically-shaped cloud, but would like this shape to animate. Since the image loader node can't load QT's or AVI's, and doesn't appear to load sequences (if it does, please tell me!), is there any way to add some nodes to tweak the resulting shape over time?

What I'd like it to do is start amorphous - example blur it out, or just distort it to be unrecognizable, then animate it into its undistorted form so it becomes readable as an image.

Ideas? Please?

Thanks!!

nikita

I guess the fastest way to reach this goal will be to edit the tgd-file directly in a text editor. By copy/paste, you can probably insert the necessary data for many frames very fast. If you know a programming language, you could write a small script to automate this copy/paste/change-cycle.

A different approach would be functions. I believe there is a node that gets the current frame number. You could use the frame number to determine the current shape of the cloud. This of course will only work, if your clouds are function-based.

scott8933

I need to be able to make fast changes, on the fly...wouldn't really want to have to go into a text file and start monkeying around with scripts and code and all that. I realize it's not super hard, but this pipeline is already starting to get out of hand. I really don't want to start adding more layers of complexity.

The shapes of the clouds are specific icons, example, a horse. The horse needs to appear to "form" from regular cumulus clouds, so I'm creating my cum. layer then just camera-projecting the horse picture where I need it. But that leaves me with the "how do I make it look like the horse formed from within these clouds?"

Just things like fading up, animating up density, they don't really work. Those techniques make it look like the horse formed from thin air, which is interesting but unfortunately not what I sold the client on in the storyboards.

So being able to manipulate the loaded-image-node itself, or somewhere down the chain, that would be my goal.

nikita

A merge shader might work. I'll give it a try and let you know the results.

nikita

#4
Ok, doing this in a kind of procedural way is not trivial, but I think I got a workflow now. It's not perfect, but I guess it's a step into the right direction.
I use two mechanisms. The one is simple cross fading.
The other helps making the fading look more like morphing. I'm using a single image that contains not only black or white pixels, but uses the whole gray scale to model the horse-cloud somewhat like a terrain. Within TG2, the higher/brighter parts of this terrain become visible first. So I painted some white cloud-like turbulences atop the horse shape. I guess this series of images explains it best

A possible result with both fading and increasing gamma starting at frame 1 can be seen in the gif animation.
The tgd-file is attatched.

There's still much room for improvement, eg. I used projection through the render camera, which looks artificial.

scott8933

Heh, I found the same shader approach last night!

What I did that kind of looked liked morphing was to do this - I took the final image and gave it a huge blur in PShop, so it was completely blurred/blobbed out. Then I cranked up the levels to get the white inside part to expand out, then blurred again.

Like you, I inserted the gamma-correction node in between the image loader and the Merge node. Then I animated the gamma, and animated the cross-fade in the Merge node.

Last night's test looked like poo, but it seems like this approach might work pretty well once its finessed.

I've been taken off the project though, for taking too long. Typical scenario around here - they'll ask for a WETA-quality effect and then give one guy (me!) a weekend to do it. Then they'll gripe about it taking too long, and change their approach to some 2-bit cheeseball solution that looks completely mediocre.

Then they later wonder why clients never bring us decent jobs.

At least I was able to make some animating cloud background plates that look very nice before getting taken off the project. And I'll probably continue the morph tests on my own time, just for the principle of the thing. We'll have to keep comparing project notes here!

nikita

Funny, I'm watching Dilbert right now.  ;D

Quote from: scott8933 on March 19, 2008, 03:15:17 PMHeh, I found the same shader approach last night!
:)

Oshyan

Bummer about being taken off the project Scott. I hope in the future as you get more experience with TG2 and the application matures, you'll be able to use it more in your productions.

- Oshyan

scott8933

#8
We may still use some elements, hard to say. The whole direction of the part is changing. This is the way these things go!

I was thinking about the whole cloud morph thing some more, and I could probably get a passable one by chaining several image loaders and Merge nodes together. Four would probably do it, just do a 4-image morph using the path blend tool in Illustrator.

Or of course, this could all be fixed by allowing the Image Loader node to use QT's, AVIs, or sequences!

Definitely if I were faster in the app and could have shown them stuff quicker it would have helped - but I'm dealing with people who expect instant results and just don't get it when I keep saying "look, this is low res now, and its going to look pretty crummy until close to the end, then its just going to blow your mind. Be patient."

I was really close on my last pass too, I had the camera tilt and time-lapse thing looking really nice. I expected to have it ready within about two more long-renders, realistically just a few more hours work in tweaking.


scott8933

Incidentally - I hit on a workaround for the lack of multithreading. I took our four-proc mac and just ran four separate instances of TG! Since the project was on a separate server, all the file paths were the same. So it was easy to just open up TG on computers on the net, then use the "Render Sequence" option to have each instance run out a different number from the same batch.

i.e. 1-200, every 6th frame, 2-206, every 6th frame, 3-207, etc. If I were running 6 instances of it.

Worked pretty well, as all the individual proc.s I was running on were fairly evenly matched.

Oshyan

Yes, for animations multi-proc rendering works well already. As for sequence loading in the image map shader, I didn't want to say anything until I found out for sure (which I haven't been able to do yet) but I could have sworn this is or at least *was* possible at some point. Maybe I'm thinking of a different node though...

- Oshyan