scattered plants and trees + redshift proxies + randomised colour (softimage style)

   1667   1   1
User Avatar
2 posts
Joined: May 2015
Hi Guys,

is there a way to have tree meshes scattered on a terrain with variance in leaf colour on every single tree so that no two are the same colour?

back in the Softimage/ICE days i could scatter points on a terrain mesh and give the points a random colour

then i'd create a plant or tree mesh with different materials for bark, leaves etc, in Softimage's node based material builder i would plug in an attribute node into a colour mixer merged in with the leaf texture map, this attribute would read the random colour generated on the scattered points

then i'd export the tree mesh as a Redshift proxy
at render time the proxies would be loaded in, and each individual tree's leaves would be given an individual colour variation within a specified range based on the random colour from the scattered points

this would mean each individual tree would have a unique colour added to its leaves and would be quick in the viewport/quick to render because of RS proxies (it also worked for Arnold standins)

I've been trying to do this in Houdini but am hitting a wall, I've tried material style sheets but that requires me to create a different override for each parameter i want to control then assign specific trees to those overrides, its still not giving me unique colour variation per tree, its also quite a pain to set up, on top of that mat style sheets don't work if there's more than one material on a mesh which makes it redundant in this scenario
I've also tried user data + attributes + shader switch but again you're using a mixer to switch between different specific shaders that you have to individually build,

am i missing something?

thanks for your help Houdiniers

(just to clarify i'm not trying to get unique colours on each leaf of one tree, i'm trying to get each individual tree to be unique)
Edited by willp - May 17, 2019 05:47:22
User Avatar
10 posts
Joined: Dec. 2017
Hi, I’m trying to get a similar output.

I have copied and packed the trees to points scattered on a terrain and have created an attribute Id based on ptnum, so each tree has unique Id.
Inside the material on the diffuse texture I added a color correction node and I’m trying to get a random saturation value based on id. I’m new to Houdini and so far I could not find the correct expression.
I tried the following expression instead of the value, but it seems to be affecting all trees at once, like the id is not used to generate a different value.

fit(rand(id) 0, 1, 0, 0.25)

I’ll let you know if I get it to work. Cheers
Edited by Rendering_no - Oct. 12, 2019 12:51:20
  • Quick Links