Unity 6.3
0 онлайн 40 гостей 3 в системе
Вход

BlendShapeBufferRange

структура в UnityEngine

Выполнено в:UnityEngine.CoreModule

Описание

Описывает расположение данных вершины формы смешивания в GraphicsBuffer.

Когда вы звоните Mesh.GetBlendShapeBuffer с BlendShapeBufferLayout.PerShape, Unity возвращает GraphicsBuffer которая содержит данные вершин формы смешивания, упорядоченные по форме смешивания.

Когда вы звоните Mesh.GetBlendShapeBufferRange для конкретного блендшейпа Unity возвращает эту структуру. По ней можно найти данные этого блендшейпа в GraphicsBuffer.

using UnityEngine;
using UnityEngine.Rendering;

public class Example : MonoBehaviour { public Mesh mesh; public ComputeShader computeShader;

void Start() { // Fetch GraphicsBuffer with Blend Shape data, ordered per shape, from the mesh var perShapeBuffer = mesh.GetBlendShapeBuffer(BlendShapeBufferLayout.PerShape);

// Iterate over all Blend Shapes in a mesh for (int blendShapeIndex = 0; blendShapeIndex < mesh.blendShapeCount; ++blendShapeIndex) { // Fetch which indices in the buffer that is part of this Blend Shape var blendShapeRange = mesh.GetBlendShapeBufferRange(blendShapeIndex);

// Set the start and end indices of the Blend Shape in the compute shader computeShader.SetInt("_StartIndex", (int)blendShapeRange.startIndex); computeShader.SetInt("_EndIndex", (int)blendShapeRange.endIndex);

// Dispatch compute shader and access data between start and end index for this Blend Shape computeShader.Dispatch(0, 64, 1, 1); }

// Dispose of GraphicsBuffer to avoid leak memory perShapeBuffer.Dispose(); } }

Дополнительные ресурсы: ,Mesh.GetBlendShapeBuffer,, ,Mesh.GetBlendShapeBufferRange,, ,BlendShapeBufferLayout.PerShape,.

Свойства

Свойство Описание
endIndexИндекс последней вершины формы смешивания для запрашиваемой формы смешивания.
startIndexИндекс первой вершины формы смешивания для запрашиваемой формы смешивания.