// Put the game object 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); } }
时间: 2024-03-28 21:37:10 浏览: 124
这段代码的作用是将游戏对象放在“忽略射线投射”层(2)中,这样射线投射就会忽略它。它使用了Unity的LayerMask.NameToLayer()函数将层的名称转换为层的整数值,并将游戏对象的层设置为这个整数值。在Awake()函数中执行这个操作,因此每次游戏对象被创建时都会自动执行。最后,使用Debug.Log()函数在控制台输出当前游戏对象的层。
阅读全文