FoliMesh

适用于PlayCanvas的树木

把 GLB 文件拖进 PlayCanvas 编辑器,它会作为 container 资源导入,并保留完整的模型层级;不依赖编辑器时,用 app.assets.loadFromUrl(url, 'container') 加载,再调用 asset.resource.instantiateRenderEntity()。FBX 在导入时会自动转成 GLB。

这套树木共 14 款:橡树、欧洲赤松、云杉、白桦、垂柳、枫树、油橄榄、猴面包树等。每棵都有 LOD0–LOD3、碰撞网格和位于根部的轴心。PlayCanvas 没有内置 LOD 组件,因此用一个小脚本比较相机距离并切换各级 LOD 实体;静态树干可放入 batch group 合并绘制调用,大片森林更适合用 meshInstance.setInstancing()。树叶使用 alphaTest,并把 cull mode 设为 none。

模型
14
细节层级
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 组件。

资源包

其他类别

其他风格的同款

其他引擎的同款