Skip to content

Offical implementation of the paper "Rhizomorph: The Coordinated Function of Shoots and Roots"

License

Notifications You must be signed in to change notification settings

edisonlee0212/rhizomorph

Repository files navigation

Rhizomorph: The Coordinated Function of Shoots and Roots

This repository is an offical implementation of the paper Rhizomorph: The Coordinated Function of Shoots and Roots.

Build instructions:

[! ! !]Prior to building process, please unzip the /Source Code/UniEngine/3rdParty/physx/physx.zip*. The project is tested under Windows 10 pro (version 22H2)

Step 1: Visual Studio:

Please make sure you installed Visual Studio 2022 with “Desktop development with C++” selected:

Pic1

Step 2: Open as CMake project:

Open the EcoSysLab folder as a project in Visual Studio 2022. The Visual Studio will automatically recognize it as a CMake project.

Pic2

Step 3: Setup building configurations:

Wait for a little while until Visual Studio loaded the CMake project, and you should see building configurations are set:

Pic3

Step 4: Build:

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

Pic4 Pic5

Application instructions:

Step 1: Welcome menu:

Once you have the framework opened, click the “Create or load New Project” button:

Pic6

Step 2: Open sample project:

In the file dialog, select the “Project.ueproj” provided in the /SourceCode/Project folder

Pic7

Step 3: Tree growth, camera movements:

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.

Pic8

You should be able to see the tree with its root system:

Pic9

Step 4: Generate meshes:

Click "Generate Meshes" button in EcoSysLab Layer panel and navigate to scene panel you will see the mesh for tree is generated.

Pic10

Step 5: OBJ export:

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.

Pic11

Step 6: OBJ export (Continued):

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:

Pic12

About

Offical implementation of the paper "Rhizomorph: The Coordinated Function of Shoots and Roots"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages