> [!abstract] Summary > Entry-level overview of **PlantFactory** (e-on software). Covers the UI and workspace basics, unit setup, the main drawing tools (Draw / Gizmo / Cut / Randomize), the default nodegraph (`AGE`, `ROOT`, `SEASON`, `HEALTH`), the most important nodes (`Segment`, `Repeat`, `Leaf`, `Warpboard`, `Hydra`, `Map`, `Input Selector`), property profile curves, tropism, hierarchy control / export, material authoring and age-driven animation. > [!video] Class recording — walkthrough with students > <iframe src="https://drive.google.com/file/d/10cNUD_ooqhOqhegyc77-66poohXj324e/preview" width="720" height="405" allow="autoplay"></iframe> > > [Open in Google Drive](https://drive.google.com/file/d/10cNUD_ooqhOqhegyc77-66poohXj324e/view?usp=sharing) --- # Layout and UI - You can change the layout by **right-clicking any tab** and selecting **Unlock** to move panels around. - ![[image-89.png]] - When you are happy with a layout, save it via **Display / Workspace / Save Workspace**. - You can see the **plant hierarchy** via **Display mode / Hierarchy**. - ![[image-111.png|618x353]] - ![[image-112.png|359x297]] - **Same color = will be exported merged.** # Options and Help - Change **unit parameters** in **File / Options / Units**: - **cm** for Maya-based modeling and small assets. - **m** for Houdini-based modeling and large-scale objects. - ![[image-90.png|375x461]] - You can find help on anything in PF by **right-clicking** on it and selecting **Help** — it jumps straight to the right section of the documentation. # Tools ### Draw tool - Lets you **draw the shapes you want** freehand; PlantFactory will try to interpolate the curve. - ![[image-91.png|755x555]] - **Yellow branch = no interpolation** (raw input preserved). - ![[image-94.png|462x361]] ### Gizmo - Select and modify every part of the tree. - ![[image-92.png|549x449]] - You can also use **Bézier curves** to modify the shape of the different elements. - **Shift + Click** to add a Bézier point. - ![[image-93.png|410x452]] - On a child branch: - ![[image-95.png|630x267]] ### Cut tool - Just cut. ### Randomize - Used to randomize parameters across the plant. - ![[image-99.png]] # The Nodegraph - The 4 default nodes are **AGE**, **ROOT**, **SEASON** and **HEALTH** — they respectively let you: - grow the model (`AGE`) - create the model (`ROOT`) - change season (`SEASON`) - change health state (`HEALTH`) - ![Plantfactory Overview_1](../../../DoNOTDelete/Plantfactory%20Overview/Attachments/Plantfactory%20Overview_1.png) - You can change the **color of any node** with: - ![[image-101.png]] ## Nodes ### Segment - Used to build **trunks and branches**. - **Root flares** let you integrate the trunk into the ground: - ![[image-104.png|517x296]] - To make proper roots, **add a Segment** to create the model: - ![[image-119.png|657x300]] - To avoid a perfectly straight trunk, add **axis perturbation**: - ![[image-105.png|603x225]] - When adding another Segment node to make **branches**, the properties for the branches themselves live **inside the branch Segment node** (length, radius, etc.), but the properties that control how the branches relate to the **parent trunk** (count, start/end position, etc.) live **inside the parent node**. - ![[image-102.png|559x253]] - To avoid the default 90° alternating placement of branches, go to **Placement** (on the parent trunk properties) and play with: - **Roll** — roll position of branches around the trunk. - **Coil** — rolls branches one by one, randomizing placement. - **Enable Blending** allows a nice integration with the trunk. - ![[image-103.png|570x324]] - Use the **Section** lob to precisely control the shape of a segment: - ![[image-115.png|703x374]] - **Axis Control** — manipulate Bézier points in 3D space to curve your segment. - ![[image-118.png|753x285]] ### Repeat - Used to create complex **loops**, repeating the same node over and over with shared properties. - Different **loop types** are available: - ![[image-106.png]] - Example — repeat a branch Segment multiple times: - ![[image-107.png|661x238]] - The amount of repetitions is controlled inside the Repeat node. - To connect **leaves after repetition** of the branches, use **Last**: - ![[image-108.png]] ### Leaf - Different leaf node types are available: - The default **Leaf** node is mainly used for **transparency-mapped** leaves. - The **Cutout Leaf** node defines **polygon geometry from a cutout**. - **Cutout Leaf example**: - Go to the **Material** lob and select the material: - ![[image-109.png]] - Click **Open** and pick one of the examples: - ![[image-110.png|662x439]] ### Warpboard - Used to make **curled cards** — useful for card projection. - ![[image-114.png|939x406]] ### Hydra - Used to **duplicate geometry**. - ![[image-125.png]] ### Map - **Remap values** from one range to another. ### Input Selector - Acts like a **switch** between multiple inputs. - Values range from **0 to 1**, so divide `1` by the number of inputs to find each switch value. ## Properties - When you edit a parameter, the **first value** is the parameter itself and the **second value** is the **± variation** applied when randomizing with: - ![[image-98.png]] - You can change the **profile curve** of parameters: - **Orange curve** — profile along the object itself. - **Green curve** — profile depending on a parent position. - ![[image-100.png]] ### Tropism - Refers to the **directional growth or bending** of a plant (or its parts, like branches) in response to environmental stimuli. In plant biology it describes how plants grow towards or away from stimuli like light (phototropism), gravity (gravitropism), touch, etc. ### Hierarchy control - Check the **Hierarchy** option in the Layout UI header to see how the hierarchy is displayed. - You can modify the **export hierarchy** of any element by going to the **Hierarchy Control** lob and changing the **Depth** parameter: - ![[image-113.png|852x310]] - To **export the hierarchy**: - ![[image-127.png|815x469]] # Material - **Basic mode** = everything can be exported. - **Advanced mode** = some of the parameters will not be exportable. - On complex nodes like **Segment**, you can target exactly **where** your material goes. Example: - **(1)** base material of the segment. - **(3)** material for the cap only. - **(2)** material layering. - ![[image-116.png|590x349]] - **Parametric** = controls the **repetition** of textures. - ![[image-117.png]] ## Age - You can **enable age on segments** in the **Setup** lob: - Connect the **age value** to any property to drive it by plant age. - ![[image-126.png|709x587]] --- # 🔗 Related - [[Notes/Plantfactory Catalog]] — how to install and use the e-on plant catalog. - [[PLANTFACTORY MOC]]