Jump to content
Activate

Help with Leaves on a Tree

Recommended Posts

Hi everyone,

 

I am wondering if somebody here would be gracious enough to help me with putting leaves on a tree.

Here is the context, I grew myself some trees by implementing some standard algorithms:

TreeWithoutLeaves.thumb.PNG.a259c748658cf249bc152cb8971f7678.PNG

and am now looking to put some leaves on the trees. I modeled a super simple leaf and instanced it:

TreeWithLeaves.thumb.PNG.8b797450bb12e5da71dd726e3382e7ca.PNG

I don't like the look of the leaves and I am not happy with their orientation or really the overall appearance of this.

The process of growing trees gives me a lot of attributes to play with, e.g. the direction of the buds, the direction of tropism, the growth direction, the steps in the iteration, the degree of the branch, how much light a bud sees, etc.

If somebody here with experience would be willing to put me on the right path I would appreciate it.  Hip + geo attached.

Thank you,

 Niels.

 

 

 

tree_example.zip

Edited by Activate

Share this post


Link to post
Share on other sites

You can just take those attributes you were using during the growth process and map them directly to v@N and v@up before you scatter leaves... the Copy to Points SOP will use those attributes to determine orientation. Similarly, you can take your number of steps, find the maximum, then use the ratio between the current step of each point on the tree and the maximum to figure out where you want to scatter leaves to.

You also don't need to use the Instance object anymore for instancing in Redshift... Redshift can read Packed Primitives now without a hitch.

Attaching an example.

sample_tree_toadstorm.hiplc

Share this post


Link to post
Share on other sites

Thank you. That is providing some good food for thought. I had previously only attached leaves where buds had not grown into branches.

I like your attribute wrangle to bias the orientation of the leaves. I will experiment some more :)

Share this post


Link to post
Share on other sites

I have not made much progress on the leaves but started with shading the trees. Not really what I asked about originally but here is the current look - most of this will not be visible once the leaves are attached as well.

The tree bark is from a photo processed with Bitmap2Material to get the normal and displacement maps. The main challenge here was manipulating the UVs from Polywire, e.g. scaling the uv.y dimension by the length of the branches.

If anyone here has feedback, I would appreciate it.

Share this post


Link to post
Share on other sites

Still trying to figure out leaves; some progress.

Active_Render_4000.0.thumb.jpg.d1ed1f465fd0f9c21bd86bab8baec873.jpg

  • Like 1

Share this post


Link to post
Share on other sites

From a CG point of view it looks cool. For sure after you fix a few things on the biological side it will look much more natural, if that's what are you aiming for. For example the leaves should be opposite or alternate to each other for the same little branch/twig. Since you used the L-system, maybe you can use it to get the right organization for them ( try give a look at this)

I don't know if this can be helpful in your case -> A really helpful trick to drive attributes on plants is to scatter some points on the branches, give them a large radius and generate an SDF volume which looks like a blob. You can then use the distance from the leaves to the surface of the volume to decide if a leaf should die because is not getting anymore light for example. 

Edited by Andrea
added link

Share this post


Link to post
Share on other sites

Thanks for the feedback. The trees are not based on L-systems. The growing algorithm is based on papers published by Runions and Prusinkiewicz. The orientation and position of the leaves is based on phyllotaxis which is really hard to see in the image. Here is a close up:

test_v2_4000.png.7cf91ecf4a762412739837cff5c3dcb8.png

It's possible that I am anchoring too much on where the tree simulation places the leaves and instead should just go with some scatter based approach of placing the leaves. Part of determining in which direction the buds will grow into branches is based on space colonization and a volume that circumscribes the outer extend of the branches. The volume gets filled with marker points and uses space colonization to select the buds nearest to each marker.

Houdini is still pretty much a learning experience for me. Graphics is not really part of my background but it's a good creative outlet. Thank you.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×