https://github.com/edisonlee0212/rhizomorph
Tip revision: a4d2835c8527b9f92895e1cca4a9f30211e97a40 authored by Bosheng Li on 21 November 2023, 06:02:20 UTC
Update README.md
Update README.md
Tip revision: a4d2835
README.md
# Rhizomorph: The Coordinated Function of Shoots and Roots
## [Project Page](https://storage.googleapis.com/pirk.io/projects/rhizomorph/index.html) | [Video](https://vimeo.com/819321601) | [Paper](https://dl.acm.org/doi/pdf/10.1145/3592145)
This repository is an offical implementation of the paper [Rhizomorph: The Coordinated Function of Shoots and Roots](https://storage.googleapis.com/pirk.io/projects/rhizomorph/index.html).
## 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:

### 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.

### 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:

### 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


## Application instructions:
### Step 1: Welcome menu:
Once you have the framework opened, click the “Create or load New Project” button:

### Step 2: Open sample project:
In the file dialog, select the “Project.ueproj” provided in the /SourceCode/Project folder

### 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.

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

### 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.

### 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.

### 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:

