我正在尝试使角色与资产配合使用。我的角色有打孔动画。我想要在打孔时破裂。
我已经尝试过OnCollisionEnter和OnTriggerEnter。但是使用“ OnMouseDown”和Raycasts销毁对象的原始脚本。
if(punched){
RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ViewportPointToRay (new Vector3(0.5f,0.5f,0.0f));
if (Physics.Raycast (ray, out hit)){
//// SEND A MESSAGE DAMAGING THE OBJECT HIT
hit.collider.gameObject.SendMessage("Damage", 1f, SendMessageOptions.DontRequireReceiver);
}
}
}
当我的对撞机与一个物体而不是光线投射系统碰撞时,我希望它能够正常工作。当我在播放器上分配的对撞机碰到需要打破的物体时,就差不多了。请帮助,我很困惑:o
答案 0 :(得分:1)
尝试了不同的方法之后,我可以使用 OnTriggerEnter 来完成我想要的事情。它就像一个魅力。 ew。
答案 1 :(得分:0)
我觉得您已经想不通了。 为什么不只是在检测碰撞的游戏对象上放一个脚本?
void OnCollisionEnter (Collision col)
{
if (col.gameObject.CompareTag("Fist"))
Debug.Log ("I have broken");
}
答案 2 :(得分:0)
查看您的脚本的变体为:
void OnCollisionEnter(Collision collider)
{
collider.gameObject.SendMessage("Damage", 1f, SendMessageOptions.DontRequireReceiver);
}
面团,您不应该使用SendMessage,但是,嘿。