PDA

View Full Version : Displacing polygons, not surface????



Briody
12-20-2006, 02:44 PM
Is there a way to use displacement mapping to move individual polygons?

I'll explain using a checkerboard as an example.

You have a square object thats made up of 9 separate polygons. The wire looks like a 3x3 checkerboard. There polygons are not connected to one another.

If you apply a black and white 3x3 checkerboard image as a displacement map the polygons will tilt individually causing the object to look like very low resolution peaks and valleys.

I don't want this peak-n-valley look. I want the displacement map to cleanly move every other polygon in the checkerboard. BUt the displacement won't do this. That map seems to treat the polygons as if they are connected (and they are not).

Any thoughts???? I should note that the checkerboard is just an example. My actually problem is far more complex. But if the checkerboard example canbe resolved, then I think I can resolve my problem.

Thanks in advance

evenflcw
12-20-2006, 06:25 PM
You can go via HardLink.

In a separate layer place a point at the center of every square. Animate these points as you would the squares. Now to transfer each points animation over to each respective square first add SoftFX to the points layer and disable the Operator1 Map in the Operator tab and hit calculate. This caches all the point animation. Then to setup the link, parent the squares layer to the points layer and add hardlink to the squares layer. Now each square should move with the closest point. If not check the hardlink options.

toby
12-20-2006, 07:16 PM
With a displacement map, whether the points are connected makes no difference to how much they move, it's purely a matter of where the points are in relation to the map, and it only displaces points, not polygons. Try using Normal Displacement instead

SplineGod
12-20-2006, 07:33 PM
hardlink doesnt work with single points that way. :)
Briody, it can be done though, what are you trying to do?

evenflcw
12-20-2006, 10:39 PM
Perhaps you're right. You sound sure of yourself.

OK, another suggestion using morphs then. Just set things up so that in the base morph each point of each square is placed in the same spot at the center of each respective square, then also set up a morph were they are spread apart (ie back to squares again)*. Now just texture displace them before you morph them. Because all points for each square is in the same location to start with, they will be texture displaced by the same amount. They will morph back to squares after that fact. That should work even in LW6.0.

*Just setup one instances of a square this way, then clone it to the normal of each polygon in the original structure, or script something if you know how to do that.

SplineGod
12-20-2006, 11:12 PM
To get it to work with HardFX you have to convert the single points to single point polys and VERY slightly extrude them so you have very tiny 2 point polys.
Its kind of weird that single point polys doesnt work but its a simple fix.

The morph thing will work too.
The trick is in setting it up depending on how complex the end result has to be. Heres an example of using the hardfx method to rotate single tiles and driven by the ripple procedural.
http://www.3dtrainingonline.com/examples/rotate.mov

zardoz
12-21-2006, 03:00 AM
I don't know if I could understand what you want but maybe this tutorial on how to make that holographic city on the xmen movie may help you.

it's with morphs like splinegod said.

http://www.eyelandarts.com/tut/pinarrays.html

Briody
12-21-2006, 07:03 AM
Thanks for all the help everyone. Much appreciated.

The answer ended up being much simpler then I anticipated. Using my checkerboard example, if each polygon is scaled down slightly to insure that it's completely within it's square on the displacement map, then it works exactly as I wanted.

Now, I'm trying to figure out how to automatically scale 5,000 polygons (not scale the object, but scale each polygon). In Layout, the edges panel does this, but that appears to be more of a visual thing, it's not really scaling the polygons.