这一节我们做一个鼠标悬停在某一个物体上后,打印出该物体的标签tag
首先我们创建两个物体立方体Cube和球Sphere,并把立方体的tag设置为Cube,球体的tag设置为Sphere
然后我们创建脚本Raycast.ca并挂在主摄像机上
代码如下
public class Raycast : MonoBehaviour {
// Update is called once per frame
void Update () {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit,10000))
{
Debug.Log(hit.collider.tag);
}
}
}
效果如下
如果我们想使立方体接受不到射线,我们可以这样做
我们在layers中增加Cube层,位于第8层,把立方体的layer设置为Cube
然后代码这样写,立方体就接收不到射线了
public class Raycast : MonoBehaviour {
void Start() {
}
// Update is called once per frame
void Update () {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
int removeMask = Camera.main.cullingMask &~(1 << 8);
if (Physics.Raycast(ray, out hit, 10000, removeMask))
{
Debug.Log(hit.collider.tag);
}
}
}
效果