本节介绍不同 着色器在 GPU 上运行的程序。 更多信息
参见 术语表 类型支持的运动类型来计算运动向量。
URP 仅支持不透明材质的运动向量,包括 alpha 剪切材质。URP 不支持透明材质的运动向量。
URP Lit
、Unlit
、Simple Lit
、Complex Lit
和 Baked Lit
着色器支持以下运动类型的每个对象运动向量
要为特定材质启用 Alembic 运动向量,请在材质 检查器一个 Unity 窗口,用于显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表 的“高级”部分启用“Alembic 运动向量”复选框。
注意::仅对使用 PlayableDirectors 组件渲染的 Alembic 顶点动画缓存使用启用“Alembic 运动向量”复选框的材质。当使用此类材质进行常规绘制调用和 MeshRenderers 时,这些材质无法读取正确的运动向量属性流,这会导致运动向量不正确。
URP Shader Graph Lit
和 Unlit
目标支持 URP ShaderLab 着色器 部分中描述的所有运动向量功能。除此之外,它们还具有以下选项的“附加运动向量”设置
基于时间:Shader Graph 顶点动画的运动向量是通过使用 时间 节点的当前帧值和上一帧值两次运行顶点位置子图来自动生成的。此模式仅对根据 时间 节点以过程方式计算且仅使用用户定义参数(常量、属性、缓冲区、纹理)在帧之间不会改变的顶点动画正确起作用。
自定义:选择此选项会添加一个额外的 运动向量 顶点输出。输出允许您指定自定义对象运动向量:每个顶点的 3D 局部对象空间偏移,表示其在上一帧中的位置。如果您知道如何在上一帧中计算顶点的位置,则可以为顶点动画创作自定义运动向量。Unity 将自定义运动向量累加到变换运动、骨骼动画和 Alembic 动画,然后将运动向量投影到最终的 2D 屏幕空间向量。
无:默认值。如果着色器不修改顶点输出,或者它不动画顶点变形,则使用此选项。
选项 基于时间 和 自定义 会在材质上启用 MotionVectors 通道。对象运动向量通道在每帧都渲染,即使对象的变换在帧之间保持静止,除非 MotionVectorGenerationMode 属性设置为 Camera
。