FoliMesh

适用于Bevy的写实风格棕榈

Bevy 原生支持 glTF 2.0,棕榈通过 AssetServer 加载:asset_server.load(GltfAssetLabel::Scene(0).from_asset("palm.glb")),再以 SceneRoot 生成到场景中;FBX 和 OBJ 需要第三方 crate,因此 GLB 更实用。椰子树、海枣、加那利海枣、丝葵和矮棕榈这五款模型都包含 LOD0–LOD3,可直接挂上 VisibilityRange 组件,用 start 与 end 边距让 Bevy 的抖动交叉淡化接管距离切换。

写实风格沿用 glTF 的 PBR 金属/粗糙度流程:树皮有基础色、法线和粗糙度贴图,叶片是 alpha 测试卡片,导入后成为 StandardMaterial 的 AlphaMode::Mask,写入深度、无需排序,投影也正确。树皮与叶片分开使用材质,draw call 更可预测;相同网格和材质的实体会自动批处理与实例化,碰撞网格可交给 Avian 或 bevy_rapier 生成碰撞体,在生存和开放世界游戏的海滩、岛屿场景中尤为实用。

模型
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。

在Bevy中使用

Bevy 通过 AssetServer 加载 glTF/GLB:asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")),再用 SceneRoot 生成;单独的网格和材质可通过标签访问。FBX 和 OBJ 需要第三方 crate,因此推荐使用 GLB。

  • LOD:给 LOD0–LOD3 实体添加 VisibilityRange(起止过渡范围),按距离切换并以抖动方式淡入淡出——这是 Bevy 的 HLOD 机制。
  • 树叶:glTF 的 alphaMode MASK 会变为 StandardMaterial 上的 AlphaMode::Mask(cutoff),双面材质会关闭背面剔除。
  • 共享同一网格和材质的实体会被自动合批和实例化,大量树木副本的开销依然很低。
  • 碰撞:Bevy 没有内置物理;可用 Avian 或 bevy_rapier 从碰撞网格生成碰撞体。

资源包

其他类别

其他风格的同款

其他引擎的同款