Any sort of 3D Displace available in Axy?

 

Hi there.

I would like to displace some 3D Geometry by means of an RGB image (or some sort of Dataset).
Let's start with an easy example. Here we have a straight line with 100 vertices in 3D Space:

Then we use an RGB image to feed a displace node:


and in this case we only use the green channel to displace the vertices of the line in Y:


Of course using R,G,&B we could displace any geometry in X,Y,&Z respectively.

Cheers & all the best.

Eric.


   EricWest

 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

If I remember correctly you are familiar with Array compounds.
You could make the following in an array compound:

At the end, you could save out all the vectors and pass them to a custom shader that will displace the vertices based on that.
Note you can make shaders in Aximmetry that could do this: https://aximmetry.com/learn/tutorials/for-content-creators/creating-new-shaders/
However, you might just want to use the Paint Path and Path Line instead of a custom shader and model:

Of course, instead of RGB image, you can use some other data format, like JSON. Aximmetry has modules for parsing various data formats.

Warmest regards,


 
Profile Image
EricWest
  -  

Hi Gabor.

Another brilliant tip. Thanks so much!

May I ask why there are two ArrayIndex nodes in the screenshot? 
As far as I understand arrays, both of them should produce the exact same value (or index) when they live within the same array group?

Using PathLine was my initial though as well, but I couldn't get it to work within an array (might be me though...:-))
Each part (or vertex) of the 'displaced line' would need a PathLine node.
But how would I link 100+ of those nodes together other than manually?
Can't seem to get that working in an array...

Cheers & all the best.

Eric.


 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

Yes, both array indexes produce the same values. I just didn't notice that I already added one.


You are right, sadly PathLine module can not be connected in a row in Array compounds.
However, you can still set up a logic where you will need far fewer modules than 100+.
Just use linked compounds like:

Inside the Group compound:

You could even nest it further and put those group compounds into another compound and copy that multiple times.

Note, that if you save the Group compound as Linked, then you can edit all of the compounds at once:



If you don't need it to be rendered in 3D space, then you can use Paint modules in array compounds:

Inside the Group array compound:

Warmest regards,

 
Profile Image
EricWest
  -  

Brilliant....again!

Thanks so much for the continued support on this.
I will definitely give that setup a try!

Cheers.

Eric.