Modular Tree

I made the uvs work today (somewhat, the mac version doesn’t compile), next is finishing up the leaves distribution !

10 Likes

a bark texture mapped with the uvs:

31 Likes

man looking realy good is it planet to go with the new 3.0 reliese?`

It will be available in the 4.0 release, and can be tested in the alpha build (as soon as the mac version accepts to compile)

2 Likes

oh sory i meant blender 3.0 not Mtree :smiley:

Do you have a rough timeline for a relatively complete version of v4?

1 Like

It will work on blender 3.0, I just wait a bit until developers make up their mind about the geo-node fields

I learned never to give time estimates :smiley:
Here is what needs to be done: leaves system, materials, twigs generation (maybe later), and general improvements (forces, lods, animation, …)

I think I will do the leaves and materials for the release, and the rest after.

13 Likes

Please help; how do I add leave? or it is not possible right now?

for now in mtree 4 there isn’t but you can manualy create leaves and manualy scatter them

1 Like

Thank you very much

1 Like

Hi Maxime, thank you so much for creating this amazing addon. Tree creation is hard to get right and with your addon I’ve been really enjoying the process so far! I don’t know where I’d be without Mtree for creating foliage/vegetation so I cant thank you enough <3

The hype is real for 4.0, but I do have a question about 4.0 on polycount. With the current Mtree 3.0 we’re able to use a final and preview version of Mtree created trees and I was wondering if in 4.0 we’ll still have this option?

When creating a tree for let’s say UE4 I like using the preview version and separating* the curve meshes to tweak bevel/curve resolution, and the final output to use as data transferrer for bending branch to trunk normals (so reflection has less pronounced seams). All in all to keep the polycount per tree acceptable for realtime rendering.

Will we still be able to get a ‘preview/curve mesh’ output of generated trees with Mtree 4.0?

Again, thank you so much for all your work. I’d love to hear more about Mtree and especially see use cases in realtime rendering :smiley:

2 Likes

Hi, I’m glad you like it :slight_smile:

I do want to improve the trees for real time applications, like what I did for the Unity version. Using blender curves for that is not ideal since the resolution is constant per curve, I think it will just be a different mesher that is optimized for games, and might even output multiple LODs.

This is not urgent though, I will first focus on actually releasing a working version !

8 Likes

Hi everbody,

Anybody knows why the nodes on the MTree add-on are showing blank?

A few days ago I started working on a tree, all going good, I was chuffed with it, I saved and closed the file.

Today I open the file and the nodes are ‘empty’. I’ve tried removing and reinstalling the add-on but outcome is the same. Same thing if I want to start a new tree from scratch in a new empty file.

Help will be appreciated.

Making progress on leaves distribution:

There is no way to automatically create twigs for now, so I made a twig model which is appended with the geo-node network.

18 Likes

4 Likes

The tease is becoming too much to bear!

It’s in the alpha, you can try it out :wink:

2 Likes

I’m there, brah!

Hi Maxime,

I’ve just confirmed in the bug tracker that a specific change in the file …\nodes\tree_parameters_node.py, replacing time.clock() with time.perf_counter(), fixes the issue and the related error message. This makes the add-on version 3.1.0 (Blender 2.80.0 minimum version) to work flawlessly in Blender 2.93.5.

Did anyone manage to compile the lasted mtree_rework? Getting a FileNotFoundError.

$git clone --recursive https://github.com/MaximeHerpin/modular_tree
Cloning into 'modular_tree'...
remote: Enumerating objects: 8019, done.
remote: Counting objects: 100% (797/797), done.
remote: Compressing objects: 100% (522/522), done.
remote: Total 8019 (delta 426), reused 619 (delta 253), pack-reused 7222
Receiving objects: 100% (8019/8019), 10.62 MiB | 5.96 MiB/s, done.
Resolving deltas: 100% (1601/1601), done.

$ cd modular_tree/

$ git checkout mtree_rework
Branch 'mtree_rework' set up to track remote branch 'mtree_rework' from 'origin'.
Switched to a new branch 'mtree_rework'

$ ./build_mtree.sh
system is Linux
Traceback (most recent call last):
  File "/home/marv/modular_tree/m_tree/install.py", line 58, in <module>
    install()
  File "/home/marv/modular_tree/m_tree/install.py", line 26, in install
    install_vcpkg_dependencies()
  File "/home/marv/modular_tree/m_tree/install.py", line 35, in install_vcpkg_dependencies
    subprocess.run(os.path.join(VCPKG_PATH, "bootstrap-vcpkg.sh"))
  File "/usr/lib/python3.9/subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/marv/modular_tree/m_tree/dependencies/vcpkg/bootstrap-vcpkg.sh'
cp: cannot stat './m_tree/binaries/m_tree.cpython-39-x86_64-linux-gnu.so': No such file or directory