FoliMesh

适用于three.js的3D资源包

8 个 GLB 资源包——Free Sampler、Temperate Forest、Conifer Forest、Tropical Beach、Savanna & Dry Lands、Desert Kit、Low-Poly Starter 与 Rocks & Cliffs——用 three/addons 里的 GLTFLoader 直接载入浏览器;只有当文件真正用到相应扩展时再加 DRACOLoader 或 KTX2Loader。每棵树、棕榈、仙人掌和岩石都带 LOD0–LOD3,配合 THREE.LOD 的 lod.addLevel(mesh, distance),就能按相机距离逐帧切换层级。

叶片使用 glTF 的 alphaMode MASK,对应 material.alphaTest;双面材质会自动带上 side: THREE.DoubleSide。做密林时 InstancedMesh 一次绘制上千份副本,BatchedMesh 可混合多个变体;由于 THREE.LOD 不按单个实例生效,请按区块把实例按 LOD 分组。碰撞网格保持隐藏,交给 Rapier 或 cannon-es。可导出 GLB、FBX、OBJ,风格从写实到低多边形,WebGLRenderer 与 WebGPURenderer 都能渲染。

在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。

资源包

其他风格的同款

其他引擎的同款