FoliMesh

适用于Babylon.js的地被植物

Babylon.js 通过 @babylonjs/loaders 里的 glTF 加载器读取 GLB:用 ImportMeshAsync,需要大量副本时改用 LoadAssetContainerAsync 配合 instantiateModelsToScene。蕨类、草丛和芦苇自带 LOD0–LOD3 与碰撞网格,浏览器里的林下地表和岸边因此保持轻量。

用 lod0.addLODLevel(30, lod1) 和 addLODLevel(80, lod2) 串起层级,传 null 即可在该距离外隐藏模型。成千上万的草丛走 thin instances(thinInstanceAdd 加矩阵),每个网格一次 draw call;只有需要单独拾取时才用 createInstance。叶片是 glTF MASK,对应 alpha 测试的 PBRMaterial。碰撞网格设 isVisible = false,再交给 checkCollisions 或 Havok(MESH 形状的 PhysicsAggregate)。

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

在Babylon.js中使用

Babylon.js 通过 @babylonjs/loaders 中的 glTF 加载器加载 GLB:使用 ImportMeshAsync(旧代码中为 SceneLoader.ImportMeshAsync),需要大量副本时用 LoadAssetContainerAsync 配合 instantiateModelsToScene。

  • LOD:lod0.addLODLevel(30, lod1)、addLODLevel(80, lod2) 依次添加;网格参数传 null 时,超过该距离物体会被隐藏。
  • 成千上万棵树:Thin Instances(用矩阵调用 thinInstanceAdd)每个网格只需一次 Draw Call;若每棵树需要独立拾取或逻辑,则使用普通的 createInstance。
  • 树叶:glTF 的 MASK 会映射为 Alpha 测试的 PBRMaterial(MATERIAL_ALPHATEST)。
  • 碰撞网格:设置 isVisible = false,配合 checkCollisions 或 Havok 物理(使用 MESH 形状的 PhysicsAggregate)。

其他类别

其他风格的同款

其他引擎的同款