LOD 组组件管理细节层次细节层次 (LOD) 技术是一种优化方法,当游戏对象与相机的距离增加时,它会减少 Unity 必须为游戏对象渲染的三角形数量。 更多信息
查看 术语表 (LOD) 用于游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、路径点等等。游戏对象的功 能由附加到它的组件定义。 更多信息
查看 术语表.
用于在 LOD 等级之间进行过渡的控件
LOD 组选择条用于在 LOD 等级之间切换并预览 LOD 渲染
关于Lod 偏差质量设置的信息。如果Lod 偏差属性设置为 1 以外的任何值,则会出现此消息。
淡出过渡宽度设置,用于所选的 LOD 等级。仅当禁用动画交叉淡入淡出属性时,才会出现此属性:即,当您选择通过宽度而不是时间来设置过渡区域时。
网格渲染器设置为所选的 LOD 等级
此外,组件底部还有两个按钮
LOD 组选择条将不同的 LOD 等级表示为彩色方框。
每个 LOD 等级方框中显示的百分比代表该等级变得活跃的阈值,它基于游戏对象的屏幕空间高度与总屏幕高度的比率。例如,如果 LOD 1 的阈值设置为 50%,那么当相机创建场景中特定视点的图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
查看 术语表向后拉动足够远,使游戏对象的填充高度为视图的一半时,LOD 1 就会变为活跃状态。
LOD 预览的播放头。您可以来回拖动相机图标,以测试 LOD 等级及其过渡。在播放头的底部,您可以看到当前的百分比。
要选择一个等级,请单击等级方框。对于您选择的每个 LOD 等级,您可以选择要使用的渲染器或自定义过渡区域.
要从选择条中添加和删除 LOD 等级,请右键单击 LOD 等级方框,然后从上下文菜单中选择插入到前面或删除。
等级调整控件。要更改 LOD 等级的百分比值,请拖动 LOD 等级方框边界的左边界。
注意:如果Lod 偏差属性未设置为 1,则相机位置可能与每个 LOD 等级实际从下一个等级过渡的位置不匹配。在这种情况下,警告消息会出现在选择条下方。
当您在 LOD 组选择条上移动相机图标时,场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上来说,您是在设计和构建游戏的各个部分。 更多信息
查看 术语表视图会显示 LOD 等级之间过渡的预览。相机图标就像一个播放头,您可以使用它来回拖动,以控制沿 LOD 组选择条预览的确切位置。预览显示相机将在每个 LOD 等级上渲染的内容。
LOD 预览播放头显示沿 LOD 组选择条的确切位置(以百分比表示),从左侧的 100% 到右侧的 0%。百分比代表游戏对象的屏幕空间高度与总屏幕高度的比率。
当您遍历这些等级时,场景视图对您正在创建的世界进行交互式查看。使用场景视图选择和放置场景、角色、相机、灯光以及所有其他类型的游戏对象。 更多信息
查看 术语表会显示树资产的包围盒,并且叠加层会指示哪个 LOD 处于活跃状态。
注意:Unity 仅在选择单个游戏对象时显示 LOD 标签。在选择多个游戏对象时不会显示它。
当您在LOD 组选择条上选择 LOD 等级方框时,渲染器面板就会出现。
“渲染器”实际上是包含该 LOD 等级网格的游戏对象。通常,它是具有LODGroup组件的游戏对象的子级。
要为当前 LOD 等级设置渲染器网格,请单击添加方框,然后从对象选择器中选择该 LOD 等级的游戏对象。
您可以为渲染器选择任何游戏对象,但如果选择的游戏对象还不是子级,Unity 会提示您将其作为父级添加到LODGroup游戏对象中。
LOD 等级之间的平滑过渡可以改善玩家对游戏的体验。当相机移动到更近或更远的位置时,您不希望玩家看到从当前 LOD 等级到下一个等级的明显切换(有时称为弹出)。
平滑过渡发生在过渡区域内,在过渡区域内,Unity 会分别渲染当前 LOD 等级和下一个 LOD 等级,然后将它们交叉淡入淡出。
交叉淡入淡出是一种同时渲染两个等级的技术,其中当前LOD 等级的权重为 1 到 0,而下一个LOD 等级的权重为 0 到 1。
Unity 通常使用屏幕空间抖动或透明度来实现交叉淡入淡出。对于最后一个 LOD 等级,不会进行交叉淡入淡出:当前等级只是淡出。
要设置 LOD 等级上的平滑过渡,
选择淡出模式下拉菜单,然后选择交叉淡入淡出
注意:如果您的树资产是用SpeedTree制作的,请选择SpeedTree模式。有关更多信息,请参见使用 SpeedTree 模型.
默认情况下,动画交叉淡入淡出选项处于启用状态,这意味着 Unity 会执行基于时间的过渡。如果要根据相机的方位来定义自己的过渡区域,请禁用动画交叉淡入淡出选项并设置淡出过渡宽度属性。
有关更多信息,请参见自定义过渡区域值。
两个 LOD 等级之间的过渡从模型的高度比率跨过下一个 LOD 阈值的那一刻开始。例如,如果 LOD 1 阈值设置为 60%,则 LOD 0 和 LOD 1 等级之间的过渡始终在模型的高度为 60% 时开始。过渡持续一小段时间。
此行为由时间动画,因此您无需在启用动画交叉淡入淡出属性后设置任何属性。每个 LOD 等级的交叉淡入淡出的确切持续时间相同。
或者,您可以通过每个 LOD 等级的方位手动定义过渡区域。每个区域都始于下一个 LOD 等级的阈值之前,并结束于下一个 LOD 等级的阈值之前。您定义每个 LOD 等级中用作过渡区域的比例;也就是说,您设置过渡从下一个等级的阈值之前多远开始。
使用淡出过渡宽度属性来定义每个 LOD 等级的过渡区域
禁用动画交叉淡入淡出选项。
单击要设置的特定 LOD 等级方框。
淡出过渡宽度属性出现在LOD 组选择条下方。
设置淡出过渡宽度属性,以将交叉淡入淡出过渡区域的宽度定义为当前 LOD 等级的整个长度的比例(介于 0.0 到 1.0 之间)。例如,指定较小的值以延迟混合的开始,并创建更快的过渡。
SpeedTree 几何体存储每个顶点的下一个LOD 位置。然后每个顶点都知道如何在当前 LOD 位置和下一个 LOD 位置之间进行插值。当 Unity 导入在 SpeedTree 中创建的模型时,它会自动将它们设置为SpeedTree模式。
Unity 只需要渲染当前 LOD 几何体并提供一个从 0 到 1 的值,指示每个顶点逐渐**移动**到下一个 LOD 位置。在过渡结束时,当前 LOD 和下一个 LOD 的几何体完美匹配。
两个 LOD 级别之间的混合从 0 开始,到 1 结束。该区域中的任何点都是混合因子,它表示当前 LOD 级别和下一个 LOD 级别之间的权重。
**Speed Tree** 模式使用混合因子来插值当前**网格 LOD 级别**和下一个网格 LOD 级别之间的顶点位置,然后在该位置渲染几何体。
**注意:****Speed Tree** 模式仅用于两个**网格 LOD 级别**之间的混合:即当当前和下一个 LOD 级别都具有网格渲染器时。当过渡到**公告板一个纹理化的 2D 对象,它会旋转,使其始终面向相机。 更多信息
参见 术语表 LOD 级别**或完全淡出时,Unity 会执行**交叉淡入淡出**风格的混合。
Unity 没有提供用于混合 LOD 几何体的默认内置技术。您需要根据您的游戏类型和资源生产流程实现您自己的技术。
Unity 根据游戏对象的屏幕尺寸计算混合因子,并将其传递到您在 unity_LODFade.x 统一变量 中的着色器在 GPU 上运行的程序。 更多信息
参见 术语表。根据您选择的**淡入淡出模式**,对使用 LOD 淡入淡出渲染的游戏对象使用 LOD_FADE_PERCENTAGE
或 LOD_FADE_CROSSFADE
关键字。
对于基于时间的(动画)过渡,您可以使用 LODGroup.crossFadeAnimationDuration 成员为每个 LOD 级别全局设置过渡的精确持续时间。
有关 LOD 命名约定的信息,请参见 导入具有 LOD 设置的网格。
LODGroup