我用SendMessage函数以通知是由光线投射命中对象:使对象检测光线投射不打它了
using UnityEngine;
public class Raycaster : MonoBehaviour {
void Update() {
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit))
if(hit.transform.tag == "MyGameObject"){
hit.transform.SendMessage ("HitByRay");
}
}
}
而且对象有一个这样的脚本:
using UnityEngine;
public class ObjectHit : MonoBehaviour {
void HitByRay() {
Debug.Log ("I was hit by a Ray");
}
}
并且在每一帧中都印有“我被雷击中”的消息。 现在我需要通知那个游戏对象,raycast不会再击中它了。
店打到最后时刻对象的引用,如果新对象=的最后一个对象,或光线投射犯规打什么这个时候,告诉它不是得到了命中目标! – Eddge