attr | 要檢查的頂點數據屬性。 |
int 數據屬性的串流內部位元組偏移,如果不存在,則為 -1。
獲取此網格上某個特定頂點數據屬性的頂點緩衝區串流內部的偏移。
網格通常只使用一個頂點緩衝區串流,但可以設置一個頂點佈局,其中屬性使用不同的頂點緩衝區(請見 SetVertexBufferParams)。在使用此類佈局時,請使用此函式來查詢某個給定屬性在串流中的位置。
注意,此函式返回串流中的位元組偏移,但未指定串流。若要辨別包含某個特定屬性的串流,請使用 GetVertexAttributeStream。
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 offsets: 0, 12, 0 Debug.Log($"Position offset {mesh.GetVertexAttributeOffset(VertexAttribute.Position)}"); Debug.Log($"Normal offset {mesh.GetVertexAttributeOffset(VertexAttribute.Normal)}"); Debug.Log($"Color offset {mesh.GetVertexAttributeOffset(VertexAttribute.Color)}");
// Cleanup Object.DestroyImmediate(mesh); } }