SpeedTree 是 IDV Inc 公司的第三方产品,提供专门针对树的预建树资源和建模软件。
Unity 采用与其他资源相同的处理方式来识别和导入 SpeedTree 资源。如果使用的是 SpeedTree Modeler 7,请确保使用 Unity 版本的 Modeler 重新保存 .spm
文件。如果使用的是 SpeedTree Modeler 8,请将 .st
文件直接保存到 Unity Project 文件夹中。
Make sure that Textures are reachable in the Project folder and that Unity automatically generates Materials for each Level of Detail (LOD). When you select an Asset, there are import settings to tweak the generated GameObject and attached Materials. Unity does not re-generate Materials when you re-import them, unless you click the Generate Materials or Apply & Generate Materials button. Therefore, it is possible to preserve any customizations to the Materials.
SpeedTree 导入器生成一个配置了 LODGroup 组件的预制件。可以在场景中将此预制件实例化为普通的预制件实例,也可以选择此预制件作为树原型并在地形上对其进行绘制。
此外,地形接受任何带有 LODGroup 组件的游戏对象作为树原型,并且对网格大小或所使用的材质数量没有限制。这与 Tree Editor 树不同。但是,请注意 SpeedTree 树通常使用三到四种不同的材质,因此每帧都会发出一些绘制调用。所以,我们建议避免在移动平台之类的平台上大量使用 LOD 树,因为在这些平台上,额外的绘制调用在渲染性能方面的成本相对较高。
SpeedTree Model Importer 具有 Materials 选项卡,用于改进处理 SpeedTree 材质资源的工作流程。请参阅有关 SpeedTree Model Importer 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 的信息以及相关链接