« Drawing from Memory | Main | Siggraph Impressions »

July 30, 2005

UV Map Now or UV Map Later

uvMapSharp.jpg

uvMapBlur.jpg

With a little tinkering and the right movie as input, you can make a displacement node perform UV mapping within Shake, putting an ordinary still image into motion.

Instead of mapping an image onto an object, map absolute UV addresses.

uvDisplaceTree.jpg
By subtracting a reference pattern of untransformed UV addresses from a sequence of transformed addresses, you create an image of relative offsets, which is exactly what a Shake displacement node wants as input.

This means you can render an animation now, and decide later what image you wish to UV map onto that object.

warpBlurAnim.gif
By blurring the transformed UV's you can get some freaky warp effects.

For some additional background, check out:
Smear Now or Smear Later

UPDATE 1/20/2006
uvDisplExprs.jpg
Here's a correction which shows the right expressions to be used.

Posted by digital artform at July 30, 2005 09:34 PM

Comments

I like to read your ...explorations : ) Now you touched something Iwe been trying to recreate in digital fusion for some time but with no luck. Can you maybe show more in depth what's going on in that xdisplace node?
Thanks

Posted by: Kristijan at August 3, 2005 05:13 AM

I did leave that out, now that you mention it.

In the displacement node, x = r * 2048, and y = g * 2048

All the images are 2048 pixels square.

I haven't generalized it to arbitrary resolutions, but the expressions are simple arithmetic ones.

Posted by: Joseph Francis at August 3, 2005 08:24 AM

I am very new to shake how did you make that bump in the warped UV? Did you use a grad node and whats up with adding all the byte nodes? I see in the giff its turning and all that but I don't see any move 2d or move nodes in the picture...can you send the .snk file to me?

thanks

Posted by: bruce at August 6, 2005 10:23 PM

Those are linear grads in red and green standing in for U and V.

They were animated and rendered in Maya as 16-bit images, and cast to floating point space through the use of the byte nodes (so that the subtraction would not clip negative numbers at zero).

The motion you see is built into the movie of red and green "UV" values, which was created not in Shake, but (in this case) in Maya.

Posted by: Joseph Francis at August 7, 2005 08:23 AM

i did a macro for these stuffs ages ago in highend3d u can even adjust its lighting condition by rendering normal map out...
i also provide a sample scene for maya file and shake file

its called "uv texture mapper" heres the url: http://highend3d.com/files/dl.3d?group=shakemacros&file_loc=UVTextureMap_v1-v1.1-.1.zip&file_id=1996

u might want to disable the antialiasing when u rendered the uv and normal pass..

btw to: Kristijan its farmore easier to do this in digital fusion u just use channel bolean and enable the auxialary channel and input the uv coordinate from the red and green channel if u like u can email me and ill send u the digital fusion sample flow so that u can experiment your self...

Posted by: patar at August 9, 2005 06:22 PM

Yes, it's fun, isn't it? And very old.

I believe Tom Brigham used to do this to swirl one Van Gogh into another some 25 years ago.

Posted by: Joseph Francis at August 9, 2005 06:58 PM

Hi Joseph, thanks for posting. I coudn't get it working, although I did two things differently.
1. I created my UV reference image in Shake by adding two ramps together.
2. I used PAL frames (720 X 576).

Just as a reference, I was able to get UV mapping working properly in Shake by following what I read on this page:
http://www.brokenpipefilms.com/unframedvfx/
(also check the comments for what expressions he used, basically the same as what you did).

Any tips as to what I may be doing wrong with your version?

Thx
Michael

Posted by: Michael Garrett at August 10, 2005 04:08 AM

Anyone know if this technique can be recreated in After Effects.

Posted by: M Romey at August 11, 2005 10:48 AM

Michael:

I haven't tried anything but square images at 2k. I haven't generalized it to arbitrary resolutions. Check out patar's comment and link. Maybe he has.

To follow my method, you have to get all the deatils right, including some I only mentioned in the comments (like setting the expressions correctly in the displacement node)

M Romey:

I've never tried it in AE, but I have in Photoshop. It doesn't seem to work there. I don't know if AE allows the necessary negative numbers to make this work, or if their difference blend mode forces an absolute value, as does Photoshop.

Posted by: Joseph Francis at August 11, 2005 11:02 AM

Thanks for your reply Joseph. I tried with the expressions but it didn't work. Not to worry. Will try with square output, and will render UV tile from 3D just in case I'm making a simple mistake creating it in Shake. Patar's macro does not install correctly for me, but I have the technique working based on the URL I posted earlier.

MRomey: to my knowledge, this won't work in AE because AE doesn't have a subtract mode and even if it did, numbers below 0 get clipped due to the integer calculation space. Maybe in the next version of AE, if it's floating point. It could probably work within a plug-in.

Posted by: Michael Garrett at August 21, 2005 09:28 AM

*** CORRECTION ***

The Shake nodes should have the following expressions:

(x+r*2048)
(y+g*2048)

*** NOT THE FOLLOWING ***
x = r * 2048, and y = g * 2048
*** AS I HAD ERRONEOUSLY WRITTEN ABOVE ***

Posted by: Joseph Francis at January 20, 2006 04:52 PM

Darwin G wrote via email:
> Hello Joseph Francis
> If it is possible that you gave to an example of UV Map Now or UV Map Later but for digital fusion.
> Thanks
> Darwin G
> Character animator

Dear Darwin G:

I'm sorry but I don't know that software. I seem to recall someone in the comments to that posting did.

The movable type blog layout is confusing as to who said what. The horizontal lines separate the comment from the comment author - they don't separate one comment from the next.

The commenter named Kristijan indicated he was exploring in that area. If the email address he left was valid [vidim_te@NOSPAMyahoo.com], you might try him to see if he has made any progress

Joseph Francis

Posted by: Joseph Francis at August 12, 2006 02:56 PM

Post a comment




Remember Me?

(you may use HTML tags for style)