
Unity中的游戏对象支持图层蒙版最多32个,一个整数,其中前8个层由Unity指定,其他24个由用户控制,当变成1时激活的零集合,当希望某些层受到影响而不是其他层时,这会有所帮助。
在本文中,将制作一个例子,当我们点击下图中间的方块时,保持默认的颜色,另外两个立方体则变成红色,这样已表示侧边俩个是敌方。
这个在FPS游戏开发中是非常有帮助的。

1.在创建脚本之前,首先需要为敌方添加一个新层,新层将其选择为“enemy”,这里的图层编号为6,这个编号需要记住哦,等下在脚本中需要用到。

2.接着创建一个名为射击敌人的脚本并将其附加到主相机。
using UnityEngine. InputSystem;
public class ShootEnemy : MonoBehaviour
{
// Update is called once per frame
void update(
{
if(Mouse.current.leftButton.wasPressedThisFrame)
{
Ray rayOrigin = Camera.main.ScreenPointToRay(Mouse.current.position.ReadValue( ))
RaycastHit hitInfo;
if (Physics.Raycast(rayorigin,out hitInfo,Mathf.Infinity,1<<6))
{
hitInfo.collider. GetComponent<MeshRenderer>().material.color = Color.red;}
}
}
}
}
}
3.在脚本中“Infinity,1<<6”为图层蒙版,意思是将默认为0的第6层变成1,在下动态图中就会看到结果,当我们点击中间那个方块时,不会有任何的颜色变化,俩边则会有变化,因为该层不在敌人层上。

…
以上是关于图层蒙版的全部内容,如果你有任何反馈,请随时在本页面下方留言。