Version: 2023.2
言語: 日本語
public GraphicsBuffer.Target indexBufferTarget ;

説明

The intended target usage of the Mesh GPU index buffer.

By default, Mesh index buffers have GraphicsBuffer.Target.Index usage target. If you want to access the mesh index buffer from a compute shader, additional targets need to be requested, for example GraphicsBuffer.Target.Raw.

using UnityEngine;

public class ExampleScript : MonoBehaviour { public Mesh mesh; public ComputeShader computeShader; void Start() { // Mark the index buffer as needing "Raw" // (ByteAddressBuffer, RWByteAddressBuffer in HLSL shaders) // access. mesh.indexBufferTarget |= GraphicsBuffer.Target.Raw; // Get the index buffer of the Mesh, and set it up // as a buffer parameter to a compute shader. var indexBuffer = mesh.GetIndexBuffer(); computeShader.SetBuffer(0, "MeshIndexBuffer", indexBuffer); indexBuffer.Dispose(); } }

Additional resources: Target, GetIndexBuffer, vertexBufferTarget.