SpeedTree 是 IDV Inc 公司的第三方产品,提供专门针对树的预建树资源和建模软件。
Unity 采用与其他资源相同的处理方式来识别和导入 SpeedTree 资源。如果使用的是 SpeedTree Modeler 7,请确保使用 Unity 版本的 Modeler 重新保存 .spm
文件。如果使用的是 SpeedTree Modeler 8,请将 .st
文件直接保存到 Unity Project 文件夹中。
确保 Project 文件夹中的纹理为可访问状态,并且 Unity 自动生成每个细节级别 (LOD) 的材质。选择资源时会有一些导入设置,您可以使用这些设置来调整生成的游戏对象和附加的材质。重新导入时,除非单击 Generate Materials 或 Apply & Generate Materials 按钮,否则 Unity 不会重新生成材质。因此可以保留对材质所进行的任何自定义。
SpeedTree 导入器生成一个配置了 LODGroup 组件的预制件。可以在场景中将此预制件实例化为普通的预制件实例,也可以选择此预制件作为树原型并在地形上对其进行绘制。
此外,地形接受任何带有 LODGroup 组件的游戏对象作为树原型,并且对网格大小或所使用的材质数量没有限制。这与 Unity Tree Editor 树不同。但是,请注意 SpeedTree 树通常使用三到四种不同的材质,因此每帧都会发出一些绘制调用。所以,我们建议避免在移动平台之类的平台上大量使用 LOD 树,因为在这些平台上,额外的绘制调用在渲染性能方面的成本相对较高。
模型导入器具有 Materials 选项卡,用于改进处理 SpeedTree 材质资源的工作流程。请参阅有关模型导入器 Material 选项卡手册页的文档以了解更多信息。
为了使公告牌正确投射阴影,在阴影投射物 pass 期间,Unity 会旋转公告牌以使它们面向光线方向(在点光源的情况下为光源位置)而不是面向摄像机。
要启用这些选项,请在 SpeedTree 资源的 Inspector 中选择 Billboard LOD 级别,在 Billboard Options 中选中 Cast Shadows 或 Receive Shadows__,然后单击 Apply Prefab__。
要更改实例化的 SpeedTree 游戏对象的公告牌阴影选项,请在 Hierarchy 窗口中选择公告牌游戏对象,然后在__公告牌渲染器 (Billboard Renderer)__ 的 Inspector 中调整这些选项。
在地形上绘制的树继承来自预制件的公告牌阴影选项。使用 BillboardRenderer.shadowCastingMode
和 BillboardRenderer.receiveShadows
在运行时更改这些选项。
已知问题:__与任何其他渲染器一样,__Receive Shadows 选项在使用延迟渲染时无效。公告牌始终在延迟路径中接受阴影。
2019–01–29 页面已修订并进行了编辑审查
添加了关于 SpeedTree 8 的信息以及相关链接