关于OnCollisionStay();的调用

昨天询问了知乎的大佬们,再结合自己的尝试。

OnCollisionStay();
是在①两者之间处在碰撞状态下,②两者之间有相对移动的情况下才触发。

该脚本用于检测 进入、保持和退出状态。

	void OnCollisionEnter(Collision coll)
	{
			Debug.Log ("Enter " + coll.gameObject.name);
	}

	void OnCollisionExit(Collision coll)
	{
			Debug.Log ("Exit " + coll.gameObject.name);		
	}

	void OnCollisionStay(Collision coll)
	{
			Debug.Log ("Stay " + coll.gameObject.name);				
	}

关于OnCollisionStay();的调用_第1张图片
当门外这个物体掉到地板时,发生了碰撞事件,并且两者发生了多次相对运动。所以调用了多次OnCollisionStay 。到最后静止两者没有了相对运动,但是还处在碰撞状态,所以OnCollisionExit 没有调用。

你可能感兴趣的:(Unity)