OverlapBoxCommand
UnityEngine 中的结构体
/
实现于: UnityEngine.PhysicsModule
建议更改
成功!
感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每项建议更改,并在适用时进行更新。
关闭
提交失败
由于某种原因,您的建议更改无法提交。请在几分钟后重试。感谢您抽出时间帮助我们改进 Unity 文档的质量。
关闭
描述
用于设置在作业期间异步执行的重叠盒子命令的结构体。
当您使用此结构体来调度一批重叠盒子命令时,这些命令将异步执行。重叠盒子的结果将写入结果缓冲区。由于结果是异步写入的,因此在作业完成之前无法访问结果缓冲区。
命令缓冲区中索引 N 的命令结果存储在结果缓冲区中索引 N * maxHits 处。
如果 maxHits 大于命令的实际结果数量,则结果缓冲区将包含一些无效的结果,这些结果没有命中任何东西。第一个无效结果由碰撞器实例 ID 为 0 来标识。第二个及以后的无效结果不会写入重叠盒子命令,因此它们的碰撞器实例 ID 不保证为 0。在遍历结果时,循环应该在找到第一个无效结果时停止。
重叠盒子命令还控制是否触发碰撞器生成命中。您应该相应地调整 maxHits 和结果数组大小以存储所有命中。使用 QueryParameters 来控制命中标志。 QueryParameters.hitBackfaces 和 QueryParameters.hitMultipleFaces 标志不受支持,不会对重叠结果产生任何影响。
注意:只有 BatchQuery.ExecuteOverlapBoxJob 被记录到探查器中。查询计数信息不会被记录。
其他资源: Physics.OverlapBox, ColliderHit.