每个 GameObjectUnity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。GameObject 的功能由附加在其上的组件定义。 更多信息
参见 术语表 存在于单个层级上,但允许您设置 API 影响哪些层级的 Unity API 并不直接使用层级。相反,它们使用 layerMask。
一个 层级Unity 中的层级可用于选择性地将一组 GameObject 包含在或排除在某些流程或计算之外。这包括摄像机渲染、灯光、物理碰撞或您自己代码中的自定义计算。 更多信息
参见 术语表 是一个标准整数,但 layerMask 是一个格式化为位掩码的整数,其中每个 1
表示要包含的层级,每个 0
表示要排除的层级。这意味着您可以将层级传递给期望 layerMask 的 API,并且脚本仍将编译,因为层级和 layerMask 使用相同的底层类型。但是,API 调用不会产生您期望的行为。
例如,如果您想对层级 9 上的 GameObject 执行 RayCast,如果您将 9
作为 layerMask 传递给 Physics.Raycast 调用,Unity 实际上会对层级 3
和 0
上的 GameObject 执行射线投射。这是因为 9 的二进制表示形式为 00001001
,如果您将其解释为掩码,则 1
位于层级 3
和 0
的位置。