Version: 2020.1

CommandBuffer.DrawMeshInstanced

切换到手册
public void DrawMeshInstanced (Mesh mesh, int submeshIndex, Material material, int shaderPass, Matrix4x4[] matrices, int count, MaterialPropertyBlock properties);
public void DrawMeshInstanced (Mesh mesh, int submeshIndex, Material material, int shaderPass, Matrix4x4[] matrices, int count);
public void DrawMeshInstanced (Mesh mesh, int submeshIndex, Material material, int shaderPass, Matrix4x4[] matrices);

参数

mesh 要绘制的 Mesh
submeshIndex 要绘制网格的哪个子集。这只适用于由若干种材质构成的网格。
material 要使用的 Material
shaderPass 要使用着色器的哪个通道,或选择 -1,表示渲染所有通道。
matrices 对象变换矩阵的数组。
count 要绘制的实例数。
properties 在绘制此网格之前应用于材质的其他材质属性。请参阅 MaterialPropertyBlock

描述

添加“通过实例化绘制网格”命令。

如果 Material.enableInstancing 为 false,该命令不会立即失败并抛出异常,但如果检测到此类情况,则会记录错误并在每次执行命令时跳过渲染。

如果当前平台不支持此 API(即,如果 GPU 实例化不可用),则会抛出 InvalidOperationException。请参阅 SystemInfo.supportsInstancing