attr | 要检查的顶点数据属性。 |
数据属性的流索引,如果不存在,则返回 -1。
获取此网格上特定顶点数据属性的顶点缓冲流索引。
网格通常使用单个顶点缓冲流,但可以设置一个顶点布局,其中属性使用不同的顶点缓冲区(参见SetVertexBufferParams)。当使用此布局时,请使用此函数查询给定属性属于哪个顶点缓冲流。
请注意,此函数返回流的索引,而不指定属性在流中的位置。若要识别流中给定属性的位置,请使用GetVertexAttributeOffset。
using UnityEngine; using UnityEngine.Rendering;
public class ExampleScript : MonoBehaviour { void Start() { // Create a Mesh with custom vertex data layout: // position and normal go into stream 0, // color goes into stream 1. var mesh = new Mesh(); mesh.SetVertexBufferParams(10, new VertexAttributeDescriptor(VertexAttribute.Position, VertexAttributeFormat.Float32, 3, stream:0), new VertexAttributeDescriptor(VertexAttribute.Normal, VertexAttributeFormat.Float32, 3, stream:0), new VertexAttributeDescriptor(VertexAttribute.Color, VertexAttributeFormat.UNorm8, 4, stream:1));
// Prints stream indices: 0, 0, 1 Debug.Log($"Position stream {mesh.GetVertexAttributeStream(VertexAttribute.Position)}"); Debug.Log($"Normal stream {mesh.GetVertexAttributeStream(VertexAttribute.Normal)}"); Debug.Log($"Color stream {mesh.GetVertexAttributeStream(VertexAttribute.Color)}");
// Cleanup Object.DestroyImmediate(mesh); } }