Version: 6000.3
语言: 中文
导入具有LOD设置的网格体
LOD组组件参考

使LOD组过渡平滑

交叉淡入淡出是一种技术,可使LOD之间的过渡平滑,并避免从LOD中出现明显的切换LOD细节级别 (LOD) 技术是一种优化,可减少 Unity 在游戏对象与相机的距离增加时必须为游戏对象渲染的三角形数量。更多信息
请参阅术语表
给另一个。

通过这种技术,Unity 分别渲染当前和下一个 LOD,然后将它们混合在一起:

当前LOD和下一个LOD之间的交叉淡入淡出。
当前LOD和下一个LOD之间的交叉淡入淡出。

Unity 通过使用屏幕空间抖动或透明度来实现交叉淡入淡出效果。对于最后一个 LOD,Unity 使用淡出效果而不是交叉淡入淡出。

启用LOD交叉淡入淡出

要启用LOD交叉淡入淡出,请执行以下作:

  1. URP资产中,启用 LOD交叉淡入淡出(LOD Cross Fade) 属性。

  2. LOD 组用于管理游戏对象的细节级别 (LOD) 的组件。更多信息
    请参阅术语表
    组件中,在 淡入淡出模式(Fade Mode) 下拉列表中选择 交叉淡入淡出(Cross Fade)。

    对于 SpeedTree 资产,选择 Speed Tree。有关更多信息,请参阅使用 SpeedTree 模型

注意速度树模式不适用于文件扩展名为 .st9 的 SpeedTree 模型。

交叉淡入淡出模式

LOD 组技术支持两种交叉淡入淡出模式:

  • 动画交叉淡入淡出

  • 自定义过渡区域

动画交叉淡入淡出模式

在此模式下,Unity 会在短时间内执行 LOD 之间的过渡。这是默认选项。

当模型的屏幕尺寸比率达到下一个LOD阈值时,LOD之间的转换开始。例如,如果将 LOD1 阈值设置为 t0 50%,则一旦模型的屏幕尺寸比例为 50%,LOD0 和 LOD1 之间的转换就会开始。过渡持续很短的时间。

LOD 组选择栏,其中包含 动画交叉淡入淡出(Animate Cross-fading) 模式下的LOD过渡可视化。
LOD 组选择栏,其中包含 动画交叉淡入淡出(Animate Cross-fading) 模式下的LOD过渡可视化。

每个LOD的交叉淡入淡出效果的持续时间都相同。

自定义过渡区域

要根据模型的屏幕尺寸比例定义自定义过渡区域,请使用 淡入淡出过渡宽度 属性。

每个过渡区域在当前LOD和下一个LOD的阈值之间开始和结束。淡入淡出过渡宽度(Fade Transition Width) 属性定义过渡区域的开始位置:

LOD组选择栏,其中包含淡入淡出过渡宽度属性的可视化。
LOD组选择栏,其中包含淡入淡出过渡宽度属性的可视化。

要在每个LOD级别上定义过渡区域,请执行以下作:

  1. LOD 组组件中,禁用 动画交叉淡入淡出(Animate Cross-fading) 选项。

  2. 点击LOD选择栏中的LOD框。

  3. 设置淡入淡出过渡宽度(Fade Transition Width) 值。该值将过渡区域的宽度定义为当前LOD选择栏长度的比例(介于0.0和1.0之间)。较小的值会延迟转换的开始并使转换更快。

    出现淡入淡出过渡宽度属性
    出现淡入淡出过渡宽度属性

SpeedTree 模型和 Speed Tree 模式

在SpeedTree模型中,每个顶点都存储其在当前和下一个LOD中的位置。

当 Unity 导入扩展名为 .spm 和 .st 的 SpeedTree 模型时,它会自动将其 Fade Mode 属性设置为 Speed Tree

在此模式下,在 LOD 过渡期间,Unity 会在顶点位置之间进行插值,以逐渐将模型的几何体从当前 LOD 转换为下一个 LOD。

注意:在速度树模式下,Unity 无法在以下模型和过渡类型的顶点位置之间进行插值:

  • 文件扩展名为 .st9 的 SpeedTree 模型。在这种情况下,Unity 会切换 LOD,而不会平滑过渡。
  • 淡出和过渡到billboard一种带纹理的 2D 对象,可旋转,使其始终面向摄像机。更多信息
    请参阅术语表
    LOD。在这种情况下,Unity 会回退到交叉淡入淡出模式。

着色器代码中的LOD交叉淡入淡出

Unity 不提供混合 LOD 几何体的内置技术。在自定义中混合LOD着色器在 GPU 上运行的程序。更多信息
请参阅术语表
,根据您的应用程序类型和资产生产管道实施您自己的技术。

Unity 使用游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
的屏幕大小,并将其传递给 unity_LODFade.x 统一变量中的着色器。根据 淡入淡出模式(Fade Mode) 属性,使用LOD_FADE_PERCENTAGELOD_FADE_CROSSFADE关键字,用于使用 LOD 交叉淡入淡出的游戏对象。

动画交叉淡入淡出(Animate Cross-fading) 模式下,你可以使用 LODGroup.crossFadeAnimationDuration 属性设置每个LOD的过渡持续时间。

其他资源

导入具有LOD设置的网格体
LOD组组件参考