3d follow - reflections and shadows

Moderators: Disciple, zlovatt

Post Reply
suztv
Posts: 7
Joined: October 16th, 2007, 8:41 am

Help! I have to follow a new style format that was originally created for print but now they want video to "emulate" the same look and feel. Basically all objects are on a 3D plane and have reflections and shadows. My problem is that when I create animation for said object I have to create a reflection - I know how to create a static reflection in AE and so far what I do is flip the animated object invert it's y scale and move the position (by grabbing all of the keys) so that it is below the original. Without pre-composing (which would bork the 3D positional coordinates) how could I have the reflection follow the original? I have tried parenting but that doesn't quite do what I want. I have had some success with the following expression with having cast shadows follow the object:

temp = thisComp.layer("Juke Trio-spinning main 3").transform.position;
[temp[0], temp[1]+250, temp[2]-65]

but obviously this won't work for the reflection. I have my objects in a 3d scene with a back wall and a floor. Is there anyway to A - have an object follow the other but constrain it's Y position so that it never leaves the floor and B - Have a reflection actually mirror the main object without having to re-key certain sections?

I know - I want the world. What can I tell you - I hate having to key out something over and over and over....
User avatar
Atomic
Posts: 157
Joined: April 30th, 2007, 5:55 am
Location: United States, Ohio

You can pre-compose 3D comps.
I'm not sure what you mean by "(which would bork the 3D positional coordinates)"

There is a mode switch called "continuous rasterize" that has an alternate function for a pre-composed 3d layer. Try turning it on and it will "un-bork" your coordinates.

Using your flip technique, a static reflection is no different than an animated one. The copy will reflect if it is footage.
)orgen
Posts: 34
Joined: August 28th, 2006, 4:12 am

you can also give the "quick 3d reflections" preset a go ;)

http://www.videocopilot.net/presets.html
suztv
Posts: 7
Joined: October 16th, 2007, 8:41 am

Here's the answer:

Duplicate your main object - this will be the reflection. Apply the following expression in the position. You will also have to invert the scale on y (x=100% y=-100%).

// name of the variable for the main object you want to reflect
V=thisComp.layer("Object");
//get the positional information from your main object
VPOS=V.transform.position;
// name of the variable for the floor plane
F=thisComp.layer("Floor");
//position information of the floor
FPOS=F.transform.position;
//the distance between the floor and the object you want to reflect
Distance=VPOS-FPOS;
//this line is where the information is applied to the reflection and viola! your reflection is acting the way it should
NEWPOS=FPOS+Distance;
[NEWPOS[0], NEWPOS[1]+(NEWPOS[2]/4), NEWPOS[2]]

Thanks to one of the programming geniuses at work - we figured it out. And BTW - My comps are a little too complex and continually rastorizing the precomposed movements causes the AE camera to get confused which causes jumping and other problems. That switch works great if you don't have a lot of crap going on - but in my case it just doesn't fly. I needed something quick and almost automatic because I get numerous changes to my videos that have to be done quickly. Thanks though for your input.
byronnash
Posts: 321
Joined: July 7th, 2004, 2:30 pm
Location: Charlotte, NC
Contact:

I'm going to move this over to the expressions discussion.
Post Reply