版本:Unity 6 (6000.0)
语言:英语
导入具有 LOD 设置的网格
用于低细节层次 (LOD) 的 2D 图像

LOD 组组件参考

切换到脚本

LOD 组组件管理细节层次细节层次 (LOD) 技术是一种优化方法,当游戏对象与相机的距离增加时,它会减少 Unity 必须为游戏对象渲染的三角形数量。 更多信息
查看 术语表
(LOD) 用于游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、路径点等等。游戏对象的功 能由附加到它的组件定义。 更多信息
查看 术语表
.

LOD Group inspector
LOD 组检查器

A 用于在 LOD 等级之间进行过渡的控件

B LOD 组选择条用于在 LOD 等级之间切换并预览 LOD 渲染

C 关于Lod 偏差质量设置的信息。如果Lod 偏差属性设置为 1 以外的任何值,则会出现此消息。

D 淡出过渡宽度设置,用于所选的 LOD 等级。仅当禁用动画交叉淡入淡出属性时,才会出现此属性:即,当您选择通过宽度而不是时间来设置过渡区域时。

E 网格渲染器设置为所选的 LOD 等级

此外,组件底部还有两个按钮

  • 单击重新计算边界,在添加新的 LOD 等级后,重新计算所有 LOD 网格游戏对象的包围体积一个封闭的形状,代表碰撞器或触发器的边缘和面。
    查看 术语表
    .
  • 单击重新计算光照贴图预渲染的纹理,包含光源对场景中静态对象的照射效果。光照贴图叠加在场景几何体上,以创建照明的效果。 更多信息
    查看 术语表
    比例
    ,根据对 LOD 等级边界的更改,更新所有 LOD网格渲染器网格组件,它从网格过滤器获取几何体,并在对象 Transform 组件定义的位置渲染它。 更多信息
    查看 术语表
    上的光照贴图中的比例属性。

LOD 组选择条

LOD 组选择条将不同的 LOD 等级表示为彩色方框。

每个 LOD 等级方框中显示的百分比代表该等级变得活跃的阈值,它基于游戏对象的屏幕空间高度与总屏幕高度的比率。例如,如果 LOD 1 的阈值设置为 50%,那么当相机创建场景中特定视点的图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
查看 术语表
向后拉动足够远,使游戏对象的填充高度为视图的一半时,LOD 1 就会变为活跃状态。

LOD Group selection bar
LOD 组选择条

A LOD 预览的播放头。您可以来回拖动相机图标,以测试 LOD 等级及其过渡。在播放头的底部,您可以看到当前的百分比。

B 要选择一个等级,请单击等级方框。对于您选择的每个 LOD 等级,您可以选择要使用的渲染器自定义过渡区域.

C 要从选择条中添加和删除 LOD 等级,请右键单击 LOD 等级方框,然后从上下文菜单中选择插入到前面删除

D 等级调整控件。要更改 LOD 等级的百分比值,请拖动 LOD 等级方框边界的左边界。

注意:如果Lod 偏差属性未设置为 1,则相机位置可能与每个 LOD 等级实际从下一个等级过渡的位置不匹配。在这种情况下,警告消息会出现在选择条下方。

Lod Bias warning
Lod 偏差警告

预览 LOD 过渡

当您在 LOD 组选择条上移动相机图标时,场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上来说,您是在设计和构建游戏的各个部分。 更多信息
查看 术语表
视图会显示 LOD 等级之间过渡的预览。相机图标就像一个播放头,您可以使用它来回拖动,以控制沿 LOD 组选择条预览的确切位置。预览显示相机将在每个 LOD 等级上渲染的内容。

Control transition previews on the LOD Group selection bar
控制 LOD 组选择条上的过渡预览

LOD 预览播放头显示沿 LOD 组选择条的确切位置(以百分比表示),从左侧的 100% 到右侧的 0%。百分比代表游戏对象的屏幕空间高度与总屏幕高度的比率。

当您遍历这些等级时,场景视图对您正在创建的世界进行交互式查看。使用场景视图选择和放置场景、角色、相机、灯光以及所有其他类型的游戏对象。 更多信息
查看 术语表
会显示树资产的包围盒,并且叠加层会指示哪个 LOD 处于活跃状态。

Overlays displaying the active LOD levels
显示活跃 LOD 等级的叠加层

注意:Unity 仅在选择单个游戏对象时显示 LOD 标签。在选择多个游戏对象时不会显示它。

LOD 网格的渲染器

当您在LOD 组选择条上选择 LOD 等级方框时,渲染器面板就会出现。

Renderers panel with the Billboard Renderer for LOD 3
具有 LOD 3 的公告牌渲染器的渲染器面板

“渲染器”实际上是包含该 LOD 等级网格的游戏对象。通常,它是具有LODGroup组件的游戏对象的子级。

要为当前 LOD 等级设置渲染器网格,请单击添加方框,然后从对象选择器中选择该 LOD 等级的游戏对象。

您可以为渲染器选择任何游戏对象,但如果选择的游戏对象还不是子级,Unity 会提示您将其作为父级添加到LODGroup游戏对象中。

在 LOD 等级之间进行过渡

LOD 等级之间的平滑过渡可以改善玩家对游戏的体验。当相机移动到更近或更远的位置时,您不希望玩家看到从当前 LOD 等级到下一个等级的明显切换(有时称为弹出)。

平滑过渡发生在过渡区域内,在过渡区域内,Unity 会分别渲染当前 LOD 等级和下一个 LOD 等级,然后将它们交叉淡入淡出。

交叉淡入淡出是一种同时渲染两个等级的技术,其中当前LOD 等级的权重为 1 到 0,而下一个LOD 等级的权重为 0 到 1。

Cross-fading between the current LOD level and the next
在当前 LOD 等级和下一个等级之间交叉淡入淡出

Unity 通常使用屏幕空间抖动或透明度来实现交叉淡入淡出。对于最后一个 LOD 等级,不会进行交叉淡入淡出:当前等级只是淡出。

要设置 LOD 等级上的平滑过渡,

  1. 选择淡出模式下拉菜单,然后选择交叉淡入淡出

    Fade Mode drop-down menu
    淡出模式下拉菜单

    注意:如果您的树资产是用SpeedTree制作的,请选择SpeedTree模式。有关更多信息,请参见使用 SpeedTree 模型.

  2. 默认情况下,动画交叉淡入淡出选项处于启用状态,这意味着 Unity 会执行基于时间的过渡。如果要根据相机的方位来定义自己的过渡区域,请禁用动画交叉淡入淡出选项并设置淡出过渡宽度属性。

    有关更多信息,请参见自定义过渡区域值。

自定义过渡区域

两个 LOD 等级之间的过渡从模型的高度比率跨过下一个 LOD 阈值的那一刻开始。例如,如果 LOD 1 阈值设置为 60%,则 LOD 0 和 LOD 1 等级之间的过渡始终在模型的高度为 60% 时开始。过渡持续一小段时间。

Animate Cross-fading (by time)
动画交叉淡入淡出(按时间)

此行为由时间动画,因此您无需在启用动画交叉淡入淡出属性后设置任何属性。每个 LOD 等级的交叉淡入淡出的确切持续时间相同。

或者,您可以通过每个 LOD 等级的方位手动定义过渡区域。每个区域都始于下一个 LOD 等级的阈值之前,并结束于下一个 LOD 等级的阈值之前。您定义每个 LOD 等级中用作过渡区域的比例;也就是说,您设置过渡从下一个等级的阈值之前多远开始。

Fade Transition Width (by position)
淡出过渡宽度(按位置)

使用淡出过渡宽度属性来定义每个 LOD 等级的过渡区域

  1. 禁用动画交叉淡入淡出选项。

  2. 单击要设置的特定 LOD 等级方框。

    淡出过渡宽度属性出现在LOD 组选择条下方。

    The Fade Transition Width property appears
    淡出过渡宽度属性出现
  3. 设置淡出过渡宽度属性,以将交叉淡入淡出过渡区域的宽度定义为当前 LOD 等级的整个长度的比例(介于 0.0 到 1.0 之间)。例如,指定较小的值以延迟混合的开始,并创建更快的过渡。

使用 SpeedTree 模型

SpeedTree 几何体存储每个顶点的下一个LOD 位置。然后每个顶点都知道如何在当前 LOD 位置和下一个 LOD 位置之间进行插值。当 Unity 导入在 SpeedTree 中创建的模型时,它会自动将它们设置为SpeedTree模式。

Speed Tree Fade Mode for a SpeedTree Model
SpeedTree 模型的 SpeedTree 淡出模式

Unity 只需要渲染当前 LOD 几何体并提供一个从 0 到 1 的值,指示每个顶点逐渐**移动**到下一个 LOD 位置。在过渡结束时,当前 LOD 和下一个 LOD 的几何体完美匹配。

两个 LOD 级别之间的混合从 0 开始,到 1 结束。该区域中的任何点都是混合因子,它表示当前 LOD 级别和下一个 LOD 级别之间的权重。

Blending for SpeedTree Models
SpeedTree 模型的混合

**Speed Tree** 模式使用混合因子来插值当前**网格 LOD 级别**和下一个网格 LOD 级别之间的顶点位置,然后在该位置渲染几何体。

**注意:****Speed Tree** 模式仅用于两个**网格 LOD 级别**之间的混合:即当当前和下一个 LOD 级别都具有网格渲染器时。当过渡到**公告板一个纹理化的 2D 对象,它会旋转,使其始终面向相机。 更多信息
参见 术语表
LOD 级别**或完全淡出时,Unity 会执行**交叉淡入淡出**风格的混合。

着色器代码中的混合因子

Unity 没有提供用于混合 LOD 几何体的默认内置技术。您需要根据您的游戏类型和资源生产流程实现您自己的技术。

Unity 根据游戏对象的屏幕尺寸计算混合因子,并将其传递到您在 unity_LODFade.x 统一变量 中的着色器在 GPU 上运行的程序。 更多信息
参见 术语表
。根据您选择的**淡入淡出模式**,对使用 LOD 淡入淡出渲染的游戏对象使用 LOD_FADE_PERCENTAGELOD_FADE_CROSSFADE 关键字。

对于基于时间的(动画)过渡,您可以使用 LODGroup.crossFadeAnimationDuration 成员为每个 LOD 级别全局设置过渡的精确持续时间。

有关 LOD 命名约定的信息,请参见 导入具有 LOD 设置的网格

LODGroup

导入具有 LOD 设置的网格
用于低细节层次 (LOD) 的 2D 图像