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

GameObject.layer

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

切换到手册
public int layer;

描述

标识 GameObject 所属层的整数。

这是标识层的标准整数值,而不是 LayerMask。您可以使用层从相机进行选择性渲染,或忽略射线检测。Unity 生成 32 个层,由标准整数 0 到 31 标识,并为其自身系统保留一些层。有关预定义层的列表以及如何创建您自己的新层,请参阅 在 Unity 中创建功能层

要将此 layer 标识符转换为 LayerMask,请参阅 设置 LayerMask。要从此 layer 标识符获取层的 string 名称,请使用 LayerMask.LayerToName。有关使用层的全面指南,请参阅手册中的

// Put the GameObject in the ignore raycast layer (2)

using UnityEngine;

[ExecuteInEditMode] public class ExampleClass : MonoBehaviour { void Awake() { //gameObject.layer uses only integers, but we can turn a layer name into a layer integer using LayerMask.NameToLayer() int LayerIgnoreRaycast = LayerMask.NameToLayer("Ignore Raycast"); gameObject.layer = LayerIgnoreRaycast; Debug.Log("Current layer: " + gameObject.layer); } }

其他资源:LayerMask