PDA

View Full Version : Mesh Part / Morph Map Scale Based on Texture - How?



RPSchmidt
01-16-2019, 12:05 PM
I am trying to get a better understanding of nodal displacement.

I reviewed the excellent material in the Help docs provided by Joe Lertola and built a mesh that I wanted to use for a simple motion graphic animation.

The mesh was created from a single hexagon that I applied a morph to, scaling it about three times its height in the Y. I then made an array from the hexagon.

What I am trying to do is use Mesh Part to control the morph amount by using the alpha values of a texture or animation. Essentially, the hexagons would scale individually up to a maximum of 100% of the morph or down to a minimum of 0% of the morph depending on the alpha of the texture or animation, the white value representing 100 and the black value representing 0, with gradients in between.

So far I am having limited success.

I wish I could provide examples, but unfortunately, I am unable to share the work I've done so far.

Thanks in advance for any ideas or suggestions!

MonroePoteet
01-17-2019, 12:34 AM
To do the example motion graphics animation you describe, I'd use an Instancer instead of an array of morphed geometry. You can then use the Image Sequence or texture to control the Y Scale of the Instances.

143881 143882

MOV file: 143880

Sample scene attached. It's a single hexagonal "tile", an InstancerNull set up to a Rectangular Array of 160x120 (the test animation I created is 640x480, so one tile for every 4 pixels), and the Y Scale of the instances controlled by an Image Map Texture (an Image Sequence in this case). The Instancer setup is:

143879

and the animation controlling the stretch of the instances is this:

Black & White animation controlling Y Scale: 143883

To change the colors as they are stretched I used a Gradient with the Y Scale of each Instance as input:

143884

mTp

P.S. Only the first image in the Image Sequence is included in the sample ZIP file due to size restrictions. The MOV file doesn't work very well to control the Y Scale, probably due to compression artifacts.

RPSchmidt
01-17-2019, 11:16 AM
mTp, that is AWESOME! Thank you so much!

I originally started with an instancer, but my limited experience left me wondering how I could control the scaling of the individual hexes. I used instancing previously, but only to create grass, forests, etc.

I thought that perhaps part move would provide a solution for me, but I just kept running into walls trying to figure out how to apply the animated alpha matte (or is it luma matte? anyhoo).

This solution you provided worked perfectly... it was exactly what I was trying to accomplish.

Thank you so much for helping me. I learned something completely new that has broadened my understanding of instancing and I really appreciate it!

THIS should be a tutorial, definitely!

Oh... for my alpha matte texture, I created a quick motion graphics animation in AE, but I used grayscale (my thinking that the varying degrees would make a hex taller or shorter) and that worked like a charm. I rendered it as a JPEG sequence as well, and that seemed sharp enough to work well with my hex instances.

MonroePoteet
01-18-2019, 08:35 AM
Glad it worked for you! It's a very generic technique, since the source of the B&W image / sequence can be any software able to produce it.

BTW, as I'm sure you know, if you need more complex control of the Instance Y Scale, you can use a 2DTexture=>Image node in the Instancer's node network rather than the Layered Texture that I used.

mTp