SCENE · Vite + three
InstancedMesh 实例化森林InstancedMesh forest
用 InstancedMesh 一次 draw call 绘制大量相同几何体,随机位置与缩放。
旗舰完整演示
可交互场景(拖拽旋转;部分演示支持键盘)。下方提示词用于让 Agent 生成同级成品。
预期产出 · Returns
Vite 页面:数千棵树(可用圆锥+圆柱组合或单一 Cylinder),FPS 稳定,可改实例数量。
适合用在哪
树林、城市窗户、粒子替代、任何大量重复物体。
容易踩的坑
- 每个实例不同材质时 InstancedMesh 不适用,需分 batch。
提示词 · Prompt
Vite + Three.js 实现 InstancedMesh 森林:
1) 合并或使用单一 ConeGeometry 作为树;count 默认 3000;
2) 用 Matrix4 为每个实例随机 xz 位置、y 贴地、随机 scale;
3) mesh.instanceMatrix.needsUpdate = true;
4) 地面大 Plane + 柔和 DirectionalLight;
5) GUI 调节 count(重建实例时避免每帧 new);
6) 注释 draw call 与 InstancedMesh 的关系。
完整源码。
Vite InstancedMesh forest with random transforms, GUI count, ground plane.