Modular Tree

Hi.
Have any of you been able to install 2.9.1 on Linux?
I have uninstalled old version and I have extracted new one in addons folder, but “addon-add-Modular-tree” appears under “Missing script files” item. Using Blender 2.79 from buildbot builds

Edit:
My problem was that when I had downloaded the .zip, I had renamed the file. Then when I installed addon, folder had that name. I’m not sure if spaces between words or numbers make it not work. I renamed the folder to “modular_tree” and it works fine.

Hi,
Great improvement, I find the result much more convincing. Will play with it for sure :wink:

Can we use this for games? Does it generate billboards?

No it dosnt, but this is a very easy task: image-render the tree with transparent background, export the rendered image then re-import it as “image as plane”. Billboard is made.
You can use it for games, but I suggest to decimate the subject (unless is a “hero” asset) while aiming for a “aspect VS polycount” balance, because the generator can reach easily +60.000 tris (without particle-foliage!) for a single tree. Try low numbers for ‘iterations’ and ‘split’ parameters to obtain a (relatively) low polycount from the beginning.

Just played a bit with this great toy and found the node workflow simply fantastic !

Some thoughts:
Just wondered if the build process uses multithreading …

I found hard to get small branches on top of the tree, in consequence foliage is often missing in this area.

Would be great to be able to not only use a leaf object to generate foliage particles but also to use a group of objects, this will be useful to get some variation.

Seems that particle emitter is created only on branch split, would be great to be able to have some also along the branches and at the end of the branches which imo is essential to get a more realistic result.

Edit :
When activate/deactivate “Create particle emitter” in the node, it doesn’t work, should be set in the tab settings for it working.

When an armature is generated, it should also apply to the emitter otherwise the leaves don’t follow when moving bones.

Maybe I missed something but when using grease pencil, the problem is that it draws on a plane, though the front is ok as it follows the drawing but the side is flat, would probably be better to also be able to use a curve as it could be defined in 3D. (Ok for this one, editing strokes is the solution)

Thanks a lot for your observations, I will fix all those things. I have made some progress with the grease pencil for drawing branches, and I’m thinking of making a toolbar for editing some aspects of the tree like materials and particles once it is generated.

In the meantime, some test of a tree rendered in blender eevee:


1 Like

Thanks Maxime,
Sounds great and cool result :wink:

@Maxime: Just wanna thank you for this nice addon. It’s really great! Keep on working on it :wink:

Hi everyone,

As I pretty much learned to code with this project, I can see now that some pieces of code I wrote two years ago are overly complicated, and not at all optimal.

In order to continue adding more functionalities, and polishing what is already there, I have to rewrite all my code from the beginning.

If any of you guys think of a big (or small) change in the way the trees are generated, or has an idea of a good user interface, please make me know.
I intend to make big changes in the algorithms, so now is the time to tell me what you want to see in a tree making addon.

Liana splines and moss particle generation would be cool and some kind of tool for organically placing the trees on a landscape. It would also be nice if the add on had some way of generating other plants like ferns or grass etc. Just some ideas :wink:

Sounds very sensible. Glad you´re taking this route as the addon can only get better from it.

A feature like selecting a mesh to define the lenght of various branches (f.e. you use an heart-shaped mesh to obtain an heart-looking tree, here an example https://youtu.be/Qbtv7wTfyQk?t=10 ).

And a guide or a more intuitive way to insert foliage (and hanging fruits peraphs?).

I found that article linking a paper about procedural trees

like Tosky said it would be nice to control overall shape of tree.

Or, some kind of UI handles to control the overall shape of the tree directly on the tree object. Some kind of a ‘cage’ or a ‘lattice’ widget…?

Like: ‘let’s expand the tree a little bit on this side, let’s trim it a little bit here, so we can see the top of the hill’ and so on. Hmm, maybe even some kind of sculpting-like tool for adding and trimming branches?

Those are good points, here is what I think I’m going to do:

• The tree will be made of connected modules which are splits or tubes, that can be subdivided to have different levels of detail depending on the radius of each branch.

• The generation of the tree follows the same rule than before, but the user will have control over the density of branches at each point (to control the tree shape). Also, the user will be able to draw the branches and the trunk with the grease pencil.

• I’m gonna try to find a way to store the tree structure into the scene so that the tree can be modified after being generated, without having to recalculate everything (To modify the gravity, trimming some branches, ect)

Those are the major goals. It probably will take some time before I can do all that, but I will keep you informed of my progress.

Please add snow, plants that grow on tree.

Alright, I’ve done the foundations, and started to work on the level of detail system, as you can see here:


Still a long way to go, there is no structure in the tree, and I have no idea of how I’m going to create the uvs yet.

Hi Maxime! First of all thank you for the great effort you are putting into this and for sharing it, it’s awesome!

In terms of functions I haven’t played enough with stuff like speed tree et similia, but I guess that mix of procedural generation and artistic control would be great.

I loved the node approach of the first version of your plugin and I loved the look that you could get. I personally found a bit of lack on the control over the shape of the tree. It might be that I wasn’t using the controls properly, but I had some difficulties in things like controlling where the branches generation starts in terms of height on the tree, their direction and rotation.

so basically I could get a very good result out of the box, but I wasn’t really able to tweak it to go for a more specific look.

Something that would be great would be the integration of a procedural generation and manual controls directly in the viewport, so that after I get the general look I can go in and modify the look of certain parts of the tree.

I hope my words weren’t too confusing :smiley: And just to be clear, these are just suggestions, they might not be easy to implement, I am aware of that :smiley:

I met EasyTreez, which can custom the shape of tree

Thanks for your advices !

The method used by EasyTreez or the space tree addon is convenient because it allows great control over the shape, but I find that it lacks realism and the trees take quite a long time to be generated.

To have control over the shape, I think I will create a 3d matrix of wanted branch density, defined by the user the same way Easy treez does it. This will allow the tree to know where the user wants the branches to be generated, and adjust the corresponding directions. My hope is that it will have similar result to space colonizing methods, while being a lot faster at generating great number of branches.