版本:Unity 6 (6000.0)
语言英语
  • C#

RayTracingAccelerationStructure.UpdateInstanceID

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有提交的内容,但我们确实会阅读用户提出的每项建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void UpdateInstanceID(Renderer renderer, uint instanceID);

参数

renderer 与光线追踪实例关联的渲染器。
instanceID 新的实例 ID。

描述

更新光线追踪实例的实例 ID。


声明

public void UpdateInstanceID(int handle, uint instanceID);

参数

handle 与 AABB 或网格光线追踪实例关联的句柄。
instanceID 新的实例 ID。

描述

更新光线追踪实例的实例 ID。

传递一个新的实例 ID 和 RayTracingAccelerationStructure.AddInstance 返回的句柄,以更新与轴对齐包围盒 (AABB) GraphicsBufferMesh 关联的光线追踪实例 ID。

加速结构中的光线追踪实例包含用户定义的实例 ID。您可以使用 InstanceID() 本身函数在 HLSL 中访问此实例 ID,该函数提供了一种访问其他每个实例自定义数据的方法。请注意,此函数仅在最近命中、任意命中和交集着色器中可用。

默认情况下,如果在调用 RayTracingAccelerationStructure.AddInstance 函数时未指定实例 ID,则 Unity 将分配一个低于 RayTracingAccelerationStructure.GetInstanceCount 函数返回值的实例 ID。

请注意,必须通过调用 RayTracingAccelerationStructure.BuildCommandBuffer.BuildRayTracingAccelerationStructure 来触发在 GPU 上构建加速结构。

其他资源:RayTracingAccelerationStructure.AddInstanceRayTracingAccelerationStructure.RemoveInstance