FoliMesh

适用于PlayCanvas的地被植物

在 PlayCanvas 里,这些模型作为 GLB container 资源导入:编辑器上传文件后得到带模型层级的 template,纯代码环境用 app.assets.loadFromUrl(url, 'container') 和 asset.resource.instantiateRenderEntity()。蕨类、草丛和芦苇均带 LOD0–LOD3,而 PlayCanvas 没有内置 LOD 组件,需要一段小脚本按摄像机距离切换各级实体的渲染组件。

叶片使用 glTF MASK,在 StandardMaterial 上设置 alphaTest;双面叶片和草叶要把 cull mode 设为 none。碰撞由 mesh 类型碰撞组件加静态 rigidbody 组成,同时关闭渲染组件。蕨类、草丛和芦苇适用于浏览器游戏中的林下地表、草甸与岸边,小网格可合入 batch group,或用 meshInstance.setInstancing() 做硬件实例化。

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

在PlayCanvas中使用

PlayCanvas 把 GLB 当作 Container 资源。在编辑器中上传 GLB(FBX 导入时会转换为 GLB),即可得到包含模型层级的模板;纯引擎代码中使用 app.assets.loadFromUrl(url, 'container') 和 asset.resource.instantiateRenderEntity()。

  • LOD:引擎没有内置 LOD 组件,可用一个小脚本比较与相机的距离,切换 LOD0–LOD3 各实体的 render 组件。
  • 静态树木可共用一个 Batch Group 来合并 Draw Call;大片森林可通过 meshInstance.setInstancing() 和存放变换的顶点缓冲使用硬件实例化。
  • 树叶:glTF 的 MASK 会设置 StandardMaterial 的 alphaTest;双面树叶请将剔除模式设为 none。
  • 碰撞网格:添加 mesh 类型的 collision 组件和静态 rigidbody,并禁用其 render 组件。

其他类别

其他风格的同款

其他引擎的同款