FoliMesh

适用于Babylon.js的低多边形风格灌木

低多边形灌木以普通 GLB 形式接入 Babylon.js:用 @babylonjs/loaders 里的 ImportMeshAsync 加载,或者在同一段绿篱需要反复复制时改用 LoadAssetContainerAsync 配合 instantiateModelsToScene。叶片是实心的多面几何,采用平面着色,颜色写在顶点色(COLOR_0)里,因此不需要 alpha 测试,也没有透明 overdraw,这在移动 GPU 上很关键。整套模型可以共用一个材质,竹子、绿篱、刺柏和覆盆子都能顺利合批,thin instances 每个 mesh 一次 draw call 就能画出上千份。

每个灌木都带 LOD0–LOD3、碰撞体和位于底部的轴心。用 lod0.addLODLevel(30, lod1)、addLODLevel(80, lod2) 串起层级,传入 null 就能在该距离之外隐藏对象;LOD0 的三角形数在几百到两千左右。不可见的碰撞网格可直接配合 checkCollisions 或 Havok 的 PhysicsAggregate。这种棱面化的灌木丛适合 WebGL/WebGPU、VR、策略和城市建造类项目。

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

关于低多边形风格

低多边形是渲染成本和包体体积都最低的风格。

  • 平面着色:每个面一个法线,呈现清晰的多面体效果,不需要法线贴图。
  • 颜色存储在顶点色(glTF COLOR_0)中:没有贴图、无需处理 UV,几乎不占显存。
  • 树叶是实体几何,而不是 Alpha 面片:没有 Alpha 测试和透明 overdraw,这对移动 GPU 很重要。
  • 场景中所有模型可以共用一个材质,树木很容易合批和实例化。
  • LOD0 的常见预算从几百到两千左右个三角形。

适合移动端、WebGL/WebGPU、VR、策略、城市建造和风格化独立游戏。在引擎中请使用会乘以顶点色的材质。

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

资源包

其他类别

其他风格的同款

其他引擎的同款