包含此页的版本:
不含此页的版本:
交叉淡入淡出是一种技术,可使LOD之间的过渡平滑,并避免从LOD中出现明显的切换LOD:细节级别 (LOD) 技术是一种优化,可减少 Unity 在游戏对象与相机的距离增加时必须为游戏对象渲染的三角形数量。更多信息
请参阅术语表给另一个。
通过这种技术,Unity 分别渲染当前和下一个 LOD,然后将它们混合在一起:
Unity 通过使用屏幕空间抖动或透明度来实现交叉淡入淡出效果。对于最后一个 LOD,Unity 使用淡出效果而不是交叉淡入淡出。
要启用LOD交叉淡入淡出,请执行以下作:
在URP资产中,启用 LOD交叉淡入淡出(LOD Cross Fade) 属性。
在LOD 组用于管理游戏对象的细节级别 (LOD) 的组件。更多信息
请参阅术语表组件中,在 淡入淡出模式(Fade Mode) 下拉列表中选择 交叉淡入淡出(Cross Fade)。
对于 SpeedTree 资产,选择 Speed Tree。有关更多信息,请参阅使用 SpeedTree 模型。
注意:速度树模式不适用于文件扩展名为 .st9 的 SpeedTree 模型。
LOD 组技术支持两种交叉淡入淡出模式:
动画交叉淡入淡出
自定义过渡区域
在此模式下,Unity 会在短时间内执行 LOD 之间的过渡。这是默认选项。
当模型的屏幕尺寸比率达到下一个LOD阈值时,LOD之间的转换开始。例如,如果将 LOD1 阈值设置为 t0 50%,则一旦模型的屏幕尺寸比例为 50%,LOD0 和 LOD1 之间的转换就会开始。过渡持续很短的时间。
每个LOD的交叉淡入淡出效果的持续时间都相同。
要根据模型的屏幕尺寸比例定义自定义过渡区域,请使用 淡入淡出过渡宽度 属性。
每个过渡区域在当前LOD和下一个LOD的阈值之间开始和结束。淡入淡出过渡宽度(Fade Transition Width) 属性定义过渡区域的开始位置:
要在每个LOD级别上定义过渡区域,请执行以下作:
在 LOD 组组件中,禁用 动画交叉淡入淡出(Animate Cross-fading) 选项。
点击LOD选择栏中的LOD框。
设置淡入淡出过渡宽度(Fade Transition Width) 值。该值将过渡区域的宽度定义为当前LOD选择栏长度的比例(介于0.0和1.0之间)。较小的值会延迟转换的开始并使转换更快。
在SpeedTree模型中,每个顶点都存储其在当前和下一个LOD中的位置。
当 Unity 导入扩展名为 .spm 和 .st 的 SpeedTree 模型时,它会自动将其 Fade Mode 属性设置为 Speed Tree。
在此模式下,在 LOD 过渡期间,Unity 会在顶点位置之间进行插值,以逐渐将模型的几何体从当前 LOD 转换为下一个 LOD。
注意:在速度树模式下,Unity 无法在以下模型和过渡类型的顶点位置之间进行插值:
Unity 不提供混合 LOD 几何体的内置技术。在自定义中混合LOD着色器在 GPU 上运行的程序。更多信息
请参阅术语表,根据您的应用程序类型和资产生产管道实施您自己的技术。
Unity 使用游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表的屏幕大小,并将其传递给 unity_LODFade.x 统一变量中的着色器。根据 淡入淡出模式(Fade Mode) 属性,使用LOD_FADE_PERCENTAGE或LOD_FADE_CROSSFADE关键字,用于使用 LOD 交叉淡入淡出的游戏对象。
在 动画交叉淡入淡出(Animate Cross-fading) 模式下,你可以使用 LODGroup.crossFadeAnimationDuration 属性设置每个LOD的过渡持续时间。