FoliMesh

适用于three.js的写实风格3D模型

写实植被可以直接进 three.js,不需要任何转换:用 three/addons 里的 GLTFLoader 加载 GLB,PBR 金属/粗糙度材质——树皮的 base color、法线和粗糙度贴图,叶片用遮罩卡片——就能按制作时的样子渲染。只有文件确实用到对应扩展时,才需要挂上 DRACOLoader 或 KTX2Loader。把 LOD0–LOD3 网格通过 lod.addLevel(mesh, distance) 加进 THREE.LOD,每帧按相机距离自动切换层级。

42 个模型里有橡树、欧洲赤松、云杉、白桦、垂柳、油橄榄、椰子树,森林和沙漠场景都能搭。大批量用 InstancedMesh 合批,BatchedMesh 可以在一个 chunk 里混几种树;THREE.LOD 不按实例生效,需要自己按层级和 chunk 给实例分组。碰撞网格保持不可见,交给 Rapier 或 cannon-es。适合第一/第三人称、生存、开放世界和模拟类项目,PC 与主机都没问题;移动端建议从 LOD1 或 LOD2 起步,并留意叶片卡片的 overdraw。

模型
42
细节层级
LOD0 – LOD3
格式
GLB · FBX · OBJ

关于写实风格

写实模型采用 PBR metal/roughness 流程,glTF 2.0、Unity、Unreal、Godot 和 three.js 都能直接读取。

  • 树皮:树干和树枝使用基础色、法线和粗糙度贴图。
  • 树叶:带叶簇贴图的 Alpha 测试(Masked)面片,而不是半透明混合,因此会写入深度、无需排序,阴影也正确。
  • 树皮与树叶使用独立材质,Draw Call 数量可预期,适合 GPU 实例化。
  • LOD0 用于近景;LOD1–LOD3 逐级减少树枝和叶片面片,最后一级足够轻,适合远景。

最适合 PC 和主机上的第一/第三人称游戏、生存类、开放世界和模拟器。移动端建议把 LOD1 或 LOD2 作为最近一级,并注意树叶的 overdraw。

在three.js中使用

在 three.js 中,用 three/addons 里的 GLTFLoader 加载 GLB;只有当文件使用相应扩展时才需要 DRACOLoader 或 KTX2Loader。

  • 距离 LOD:使用 THREE.LOD,通过 lod.addLevel(mesh, distance) 添加 LOD0–LOD3,每帧根据与相机的距离切换级别。
  • 森林:InstancedMesh 一次 Draw Call 即可绘制成千上万个副本,BatchedMesh 可混合多种树木变体。THREE.LOD 不会作用于单个实例,需要自己按区块将实例按 LOD 分组。
  • 树叶:glTF 的 alphaMode MASK 会转换为 material.alphaTest,双面材质会自动设置 side: THREE.DoubleSide。
  • 碰撞网格:设为不可见,并交给 Rapier 或 cannon-es 等物理库使用。

同时适用于 WebGLRenderer 和 WebGPURenderer。

资源包

其他类别

其他风格的同款

其他引擎的同款