Project Page | Video | Paper
This repository is an offical implementation of the paper Rhizomorph: The Coordinated Function of Shoots and Roots.
[! ! !]Prior to building process, please unzip the /Source Code/UniEngine/3rdParty/physx/physx.zip*. The project is tested under Windows 10 pro (version 22H2)
Please make sure you installed Visual Studio 2022 with “Desktop development with C++” selected:
Open the EcoSysLab folder as a project in Visual Studio 2022. The Visual Studio will automatically recognize it as a CMake project.
Wait for a little while until Visual Studio loaded the CMake project, and you should see building configurations are set:
Open the drop-down menu for building target by clicking the button highlighted with blue box, and select EcoSysLab.exe and click start button marked with red box to start building
Once you have the framework opened, click the “Create or load New Project” button:
In the file dialog, select the “Project.ueproj” provided in the /SourceCode/Project folder
You should be able to see the project is loaded and the framework’s running. The project folder comes with a sample scene. Select EcoSysLab Layer panel and check “Auto grow” box to see the tree start growing. To move the camera in space, press and hold mouse right button and move with "W, A, S, D, Shift, Ctrl". To rotate camera, press and hold mouse right button and move the mouse.
You should be able to see the tree with its root system:
Click "Generate Meshes" button in EcoSysLab Layer panel and navigate to scene panel you will see the mesh for tree is generated.
To export mesh as OBJ, select (either from Entity Explorer panel or directly click the object in scene panel) the target entity named "Branch Mesh" as one of the children of "Butter" entity which contains the MeshRenderer that provides the rendering for branches. Find the Temporary Mesh button which links to the branch mesh asset, double click it and it will show up in the Asset Inspector panel. You can then click Export as OBJ button to save branch mesh as OBJ on your disk.
You can export branch mesh, root mesh, and foliage mesh, but not fine root mesh. The fine root mesh is not stored as triangular mesh, but curves that is expand to mesh with geometry shader within the framework on GPU. Here's a screenshot of what does exported meshes look like in MeshLab: