Jump to content
Sign in to follow this  
RickWork

L-System Leaf Deformation

Recommended Posts

Hi,

Is there a way to get the leaves on the J input of the l-system to deform. I need to have some leaves droop downwards.

I'm trying to grow a very leafy plant and some of these leaves are quite long and droop a bit.

If you'd like a ref pic of what I'm talking about, let me know and I'll find one on google.

Thanks

Share this post


Link to post
Share on other sites

Just off the top of my head but could you procedurally deform each leaf via param() before it is piped into the Lsystem?

Share this post


Link to post
Share on other sites
Just off the top of my head but could you procedurally deform each leaf via param() before it is piped into the Lsystem?

14021[/snapback]

Hi Edward,

I thought about deforming the leaves before I plug them into the l-system and it worked ok.

I haven't messed with chops much but is it possible to deform the leaves mesh with a bendOP and then based on a criteria invoke this animation? Maybe an event or conditional?

My leaves get scaled during the growth process of the l-system so I was thinking it would be great that once they reach the end of their growth process, the bend animation invokes which makes them droop down, maybe bounce back up a tad bit.

It would be great if I could get some direction on where I need to search the docs about this.

Cheers,

Rick

Share this post


Link to post
Share on other sites

Maybe someone else could point you to some docs. I only have basic knowledge from what I've seen in the forums about Lsystems. :) There also used to be a Lsystem tutorial in the User Guide with older versions of Houdini (6.0 perhaps?).

You could just make the leaves bend with some expression based on $FF (floating point frame ... don't use $F or else you'll run into motion blur problems). I think you might also be able to just stamp the generation parameter and then base your animation off that.

I'm not the best person to ask about Lsystems ... What happened to everyone else? Jens? Frank? Arctor?

Share this post


Link to post
Share on other sites

Not really related to L-Systems, but one thing you might try out is to assign an attribute to your leaf geometry before it gets stamped about by the LSystemSOP.

This attribute would be zero around the stalk and the spine of the leaf near to the stalk and gradually increase in value toward the edges and tip of the leaf. You could use a metaball falloff - use one of the Cd color components after using a MagnetSOP to deform the Cd attribute.

Anyhow, now its stamped all over the place you can run the leaves point group (or the entire mesh) through a VEX sop which can flutter the leaves and droop them down a bit.

Hope this idea helps,

Jason

Share this post


Link to post
Share on other sites
In fact, here is a what I'm talking about, now in a hipfile:)

14038[/snapback]

Took your hip file and added some of the ideas that the flora tools uses to place leaf anchors.

I use points as leaf anchors that get passed in to the lsystem SOPs. The leaf anchor is a single point that has a normal and upvector defined. When placed properly in the lsystem rules, the upvector and normal are properly oriented. The single point is also placed in a point and prim group (because some things that flora does needs point and prim groups present).

The copy SOP can then place leaves on the anchor points with a great deal of control.

See the example file.

It isn't that exciting to stamp anchor points to most users but there is a reason. The idea is to replace the copy SOP with a procedural DSO run in Mantra/PRMan that takes leaf instance geometry and copies them at render time. Just pass in the dynamic attributes and let the procedrual do the work at render time. If you are rendering 100's of trees, this is the only way to do it.

For preview, you can see one tree using the copy SOP set up to replicate the procedural dso.

leafdroop.2.hip.zip

Share this post


Link to post
Share on other sites

Thanks guys! Very cool technique. I'm digging through both files now trying to figure out how you came up with this. Thanks much for the comments on the nodes!

Cheers,

Rick

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
Sign in to follow this  

×