实验:此功能目前处于实验阶段,在以后的主要版本中可能会发生更改。
网格采样
Visual Effect Graph 能够从网格中获取数据并在整个图形中使用结果。目前,它只能从网格中获取顶点,不能访问三角形拓扑。
Visual Effect Graph 提供了两种网格采样方法:
Position (Mesh)
此代码块设置位置读取顶点位置属性和方向读取法线属性。
Input Slot
Mesh:要获取的网格。
Vertex:要采样的顶点索引(如果 Spawn Mode 设置为 Custom)
设置
- Addressing Mode:设置当顶点索引超出顶点范围时 Unity 使用的方法。
- Wrap:将索引环绕到顶点列表的另一侧。
- Clamp:将索引限制到第一个和最后一个顶点之间。
- Mirror:镜像顶点列表,以使超出范围的索引在列表中来回移动。
- Spawn Mode
- Random:获取每个实例的随机索引选择。
- Custom:设置要获取的特定顶点索引。
Sample Mesh
此运算符提供对任何顶点属性的自定义读取。在检查器中选择输出 VertexAttribute。
Input Slot
- Mesh:要获取的网格。
- Vertex:要采样的顶点索引(如果 Spawn Mode 设置为 Custom)
Output Slot
- Position (Vector3):返回顶点属性 Position
- Normal (Vector3):返回顶点属性 Normal
- Tangent (Vector3):返回顶点属性 Tangent
- Color (Vector4):返回顶点属性 Color
- TexCoord0-7 (Vector2):返回顶点属性 TexCoord0 到 7
- BlendWeight (Vector4):返回顶点属性 BlendWeight
- BlendIndices (Vector4):返回顶点属性 BlendIndices
设置
- Addressing Mode:设置当顶点索引超出顶点范围时 Unity 使用的方法。
- Wrap:将索引环绕到顶点列表的另一侧。
- Clamp:将索引限制到第一个和最后一个顶点之间。
- Mirror:镜像顶点列表,以使超出范围的索引在列表中来回移动。
- Output:指定输出 VertexAttribute。此设置仅在检查器中可见。
限制
网格采样功能具有以下限制:
- 对于所有 VertexAttribute 仅支持 VertexAttributeFormat.Float32,但 Color 除外,因为它必须是使用 VertexAttributeFormat.UInt8 格式的四分量属性 (Color32)。
- TexCoord 属性受限于二维属性。
- TexCoord 属性受限于二维属性。如果网格不是可读的,Position (Mesh) 代码块和 Sample Mesh 运算符在尝试对其进行采样时返回零值。有关如何使网格可读的信息,请参阅 模型导入设置