Visual Effect Graph 能够从网格中获取数据并在整个图形中使用结果。目前,它只能从网格中获取顶点,不能访问三角形拓扑。
Visual Effect Graph 提供了两种网格采样方法:

  • Position (Mesh) 代码块)。
  • Sample Mesh 运算符

    Position (Mesh)

    此代码块设置位置读取顶点位置属性和方向读取法线属性。
    image.png

    Input Slot

  • Mesh:要获取的网格。

  • Vertex:要采样的顶点索引(如果 Spawn Mode 设置为 Custom

    设置

  • Addressing Mode:设置当顶点索引超出顶点范围时 Unity 使用的方法。

    • Wrap:将索引环绕到顶点列表的另一侧。
    • Clamp:将索引限制到第一个和最后一个顶点之间。
    • Mirror:镜像顶点列表,以使超出范围的索引在列表中来回移动。
  • Spawn Mode

    • Random:获取每个实例的随机索引选择。
    • Custom:设置要获取的特定顶点索引。

      Sample Mesh

      此运算符提供对任何顶点属性的自定义读取。在检查器中选择输出 VertexAttribute
      image.png

      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 运算符在尝试对其进行采样时返回零值。有关如何使网格可读的信息,请参阅 模型导入设置

image.png