Version: Unity 6.0 (6000.0)
语言 : 中文
层和 layerMask
设置 layerMask

layerMask 简介

所有__ GameObject__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
See in Glossary
都存在于单个的层上,但用于设置受 API 影响的层的 Unity API 不会直接使用层。相反,这些 API 会使用 layerMask。

是标准整数,但 layerMask 则是位掩码格式的整数,其中 1 代表要包含的层,0 代表要排除的层。这意味着您可以将层传递给期望使用 layerMasks 的 API,而脚本仍会进行编译,因为层和 layerMask 使用的是相同的底层类型。但这时 API 调用不会产出预期的行为。

例如,假设要对第 9 层上的 GameObject 执行 RayCast,如果将 9 作为 layerMask 传入 Physics.Raycast 调用,那么 Unity 实际上会对 30 层上的 GameObject 执行光线投射。这是因为 9 的二进制表示形式为 00001001,如果将其解释为遮罩,则 1 将占用层 30 的位置。

层和 layerMask
设置 layerMask