[Tch] GenPlant 程序化植物生成器

一个基于Web的程序化植物生成器

Posted by Kannmu on October 26, 2025

GenPlant

🌱 一个基于Web的程序化植物生成器,使用确定性算法生成独特的三维植物模型。

在线体验

仓库地址

✨ 功能特性

  • 确定性生成: 相同的种子总是生成相同的植物,确保结果可重现
  • 程序化建模: 基于生物学原理的植物生长算法,模拟真实的植物形态
  • 实时渲染: 使用Three.js实现高质量的3D渲染和交互
  • 纯前端: 无需服务器,完全在浏览器中运行
  • 参数化控制: 丰富的参数系统控制植物的各个方面

Main Page.png

🚀 快速开始

使用方法

  1. 输入种子: 在输入框中输入任意数字作为生成种子。
  2. 生成植物: 点击 “Generate Plant” 按钮生成植物。
  3. 随机生成: 点击 “Random Plant” 按钮随机生成植物。
  4. 相机控制: 使用鼠标拖拽旋转视角,滚轮缩放,点击 “Reset Camera” 重置视角。

注意: 本项目使用 ES6 模块,需要通过本地服务器运行。

9 random samples.png

🏗️ 技术架构

核心技术栈

  • Three.js: 3D渲染引擎 (通过 esm.sh 的 CDN 加载)。
  • ES6 Modules: 模块化架构。
  • WebGL: 硬件加速渲染。
  • HTML5 Canvas: 渲染目标。

系统架构

1
2
3
4
5
6
7
8
9
10
11
12
13
用户界面 (UI)
    ↓
主控模块 (Main Controller)
    ↓
生成核心 (Generator Core)
├── 参数生成器 (Parameters)
├── 结构引擎 (Structure Engine)
├── 几何体构建器 (Geometry Builder)
└── 材质生成器 (Material Generator)
    ↓
渲染模块 (Renderer)
    ↓
HTML5 Canvas

Results from Seed 2025, 1314, 42 and 999.png