OctaneRender Standalone - how to place scattered objects on top of displaced geometry with "Values" nodes
Posted: Mon Aug 18, 2025 3:40 pm
Hi,
Here is an example on how to place scattered objects on top of displaced geometry with "Values" nodes: Let's say that we have a plane with displacement texture on it, and we want to scatter some little boxes on top of it: First thing to do is to make sure that the Displacement texture Color Space is set to "Non-colo data": Then we need to set the Translation mode of the Scatter on Surface node to "Map", and connect the texture used for displacement also to Translation map pin:
Then, to make it works, we need to define the "Translation min" and "Translation max" values.
For "Translation min" value, we need to expand the Box Height value, then use a "Binary math operation" node to divide the Box Height by 2: Then use a "Float merger" node to connect the "Binary math operation" node to the Y pin, and connect the "Float merger" to the Translate min pin: For the "Translate max" value, we need to use another "Binary math operation" node to add the Displacement Height value to the Box Height divided by 2: Then use again a "Float merger" node to obtain the Translate max Y value that we need: And that's it, now the boxes are following the displaced plane surface correctly, and you can change the Box Height or Displacement Height interactively. The boxes will also follow if you change the displacement texture: Happy GPU rendering!
ciao,
Beppe
Here is an example on how to place scattered objects on top of displaced geometry with "Values" nodes: Let's say that we have a plane with displacement texture on it, and we want to scatter some little boxes on top of it: First thing to do is to make sure that the Displacement texture Color Space is set to "Non-colo data": Then we need to set the Translation mode of the Scatter on Surface node to "Map", and connect the texture used for displacement also to Translation map pin:
Then, to make it works, we need to define the "Translation min" and "Translation max" values.
For "Translation min" value, we need to expand the Box Height value, then use a "Binary math operation" node to divide the Box Height by 2: Then use a "Float merger" node to connect the "Binary math operation" node to the Y pin, and connect the "Float merger" to the Translate min pin: For the "Translate max" value, we need to use another "Binary math operation" node to add the Displacement Height value to the Box Height divided by 2: Then use again a "Float merger" node to obtain the Translate max Y value that we need: And that's it, now the boxes are following the displaced plane surface correctly, and you can change the Box Height or Displacement Height interactively. The boxes will also follow if you change the displacement texture: Happy GPU rendering!
ciao,
Beppe