Improved Tree-generator Sample

Registered by ThomasEgi

Improving the fractal-plants sample into a useful tree-generator. things to change/add:
-improved vertex usage (decrease number of vertices used for smaller brances)
-new growing rules ( add tuneable settings to let the plant grow more realistic. like gravitation, sun direction, etc. )
-improving leaf placement. place along small branches/twigs
-add LOD-creator (takes a small enough branch , renders it into a textures, replaces the rendered branch with a leaf+newly rendered texture for it )
-adding some roots

Blueprint information

Needs approval
Series goal:
Milestone target:
Started by

Related branches



-working out new growing rules: it already grows.
it grows towards light/sky (white stuff in your scene, obstacles should be black or at lest have a blue-value of 0).
it already grows around obstacles
its still awfully slow. growing a small/mid sized tree takes several minutes
sometimes big parts of a tree die off even though they should continue to grow. blocking behaviour i guess.
all in all quite funny to watch :)

(pro-rsoft) This sounds great, and is a fantastic idea to implement. However, I'm not sure whether this will be that useful as a sample program. I'd say, if you can produce a working and fully customizable tree generator, we'd directly integrate it in the codebase instead of as a sample?

(ThomasEgi) good idea. i dropped 2 different approaches allready. results where quite slow and non-realistic. this 3rd-gen would integrate into panda's node system. introducing something like PlantNodes , for a tree you need "trunks" and "leaves" and an "empty" which can hold some parameters for other plantnodes. i have 4 more plant nodes which, when integrated, would allow pretty much any possible plant to grow. right now the trunk node has about 16 different parameters, many of them list, some ints some floats, ,vec3's ,some special ones like nodepath and nurbscurve.
generation will be handled in 2 steps. the PlantNodes will only hold the prameters and can output a mathematical describtio. this output needs to go into a mesh-generator. i also plan an intelligent LOD-creation which automatically can create different meshes at different levels of detail, using different lod-techniques.
a few things i changed already:
-growing around objects (its awfully slow, and with the new system it can be done manually if neccessary )
-growing towards the "sky" .. i simplified it by giving a growing vector.
+planned to make the trunks grow along splines, so one can claim full control over the growing if desired)
+speed speed speed . new approach takes several thousand times less computing power than the last 2
@pro: i'll notice you when i have the code working to an extend where i could make use of the mesh-generator(this will still take some time)
[edit1]:generation backend is working to an already useable extend. but it needs a GUI. it's terribly hard to configure it to produce nice tress using pure code.
[edit2]:currently on my 5th rewrite of the code.. it either ends up terribly hard to configure. or the results are barely good looking...
[edit3]: after tons of experimenting i end up with either terribly hard to tune mechanism which dont look very well. or it doesnt look good at all. until i have a sparkling new idea how to combine ease of use with good results i'll redo it. until then i wouldnt know what to do.

I rewrote most parts of the Fractal-Plants example for some slight improvements. I dont know if this can be of any use... its on


Work Items

This blueprint contains Public information 
Everyone can see this information.