FoliMesh

适用于PlayCanvas的写实风格仙人掌与多肉

PlayCanvas 把这些植物当作 GLB container 资源来处理:把文件拖进 Editor 就能得到带模型层级的 template,在代码里则先用 app.assets.loadFromUrl(url, 'container') 加载,再调用 asset.resource.instantiateRenderEntity()。写实套装包含巨柱仙人掌、金琥、梨果仙人掌、龙舌兰和芦荟,树干与枝条使用带法线、粗糙度贴图的 PBR metal/roughness 材质,叶片是 alpha test 的卡片。

PlayCanvas 没有内置 LOD 组件,需要一段小脚本比较相机距离,切换 LOD0–LOD3 实体上的 render 组件;后几级会去掉枝条和叶片卡片,让动辄上百株植物的沙漠场景保持轻量。遮罩叶片写入深度,不需要排序,阴影也正确。静态植物可以合进 batch group,密集的巨柱仙人掌群用 meshInstance.setInstancing() 更合适。适合第一、第三人称生存、开放世界和西部题材,桌面与移动端都能跑。

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

关于写实风格

写实模型采用 PBR metal/roughness 流程,glTF 2.0、Unity、Unreal、Godot 和 three.js 都能直接读取。

  • 树皮:树干和树枝使用基础色、法线和粗糙度贴图。
  • 树叶:带叶簇贴图的 Alpha 测试(Masked)面片,而不是半透明混合,因此会写入深度、无需排序,阴影也正确。
  • 树皮与树叶使用独立材质,Draw Call 数量可预期,适合 GPU 实例化。
  • LOD0 用于近景;LOD1–LOD3 逐级减少树枝和叶片面片,最后一级足够轻,适合远景。

最适合 PC 和主机上的第一/第三人称游戏、生存类、开放世界和模拟器。移动端建议把 LOD1 或 LOD2 作为最近一级,并注意树叶的 overdraw。

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

资源包

其他类别

其他风格的同款

其他引擎的同款