【发布时间】:2017-08-31 23:59:02
【问题描述】:
我使用 SendMessage 来通知被 Raycast 击中的对象:
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");
}
}
每帧都显示“我被雷击中”的打印消息。 现在我需要通知那个游戏对象,光线投射不再击中它了。
【问题讨论】:
-
存储对上次命中对象的引用,如果新对象 != 最后一个对象,或者这次光线投射没有命中任何东西,则告诉该对象它不再被命中。
标签: c# unity3d google-cardboard