Notifications
Clear all

[Closed] Growing a Tree with MaxScript/Pflow/L-Systems

Just looking for a bit of guidance, got to do some R&D into doing a Tree growing animation and just having a think about what would be the best approach. Been thinking the initial seed growing a shoot would have to be hand animated, and probably the first couple of branches but after that I’d like to have it procedurally getting bigger and spawning more branches and leafs.

Any thoughts?

DW

2 Replies

Hi dave,
I made a branching system with PFlow not too long ago. The setup was this: One particle (branch tip) would be given motion through forces. This particle would spawn several particles as it traveled, all of which would have a speed of zero, forming one branch. Every so often, one of the spawned particles would spawn a new “tip” which would then be moved by the forces and leave behind it’s own trail. The tips can be given a Keep Apart operator to prevent intersections and they can scale down and stop over time. This will work well if you are not going to see them from very close.

If you want to see the growing branches up close, you will need to make some actual geometry that can be smoothed and textured. For this, I used a script that places a spline along the path of the tips, and then extrudes geometry along the splines. The tricky part was getting clean geometry where a new branch came out of another, but it can be done. I then animated it growing by collapsing the branches along their length and using a morph target like in the following:

http://www.pxfactory.eu/scripts/grow/grow.html

Hope that helps, although I realize it has nothing to do with L-systems

That scripts looks pretty interesting, although it doesn’t work for me in 3dsmax 9. Anyone got a moment to have a look and work out what the problem is?

ConverttoMesh doesn’t seem to work, i’ve commented this out and made my object a editable mesh but then gives me an error with.

Type Error, requires Object got: Target on line.

		WM3_MC_BuildFromNode obj_to_shrink.modifiers[1] 1 target