我有两个GameObjects
Body1
和Body2
,两个都有单独BoxCollider
的。我想确定哪个GameObject
(Body1
或Body2
)击中了另一个。
问问题
367 次
1 回答
0
void OnCollisionEnter (Collision col)
{
Debug.Log(col.gameObject.name);
}
有了这个,您可以获得对象的名称。但是,如果我的问题是正确的,那么它们都有碰撞器并且body1
命中与命中body2
完全相同body2
body1
您可以进行区分,如果其中一个静止不动(没有改变位置)而另一个在移动,那么您可以说body1
命中body2
或任何您的情况。
要实现这一点,您可以使用布尔值,例如isObjectMoving
. 你可以检查它Update()
。如果transform.position
正在改变 bool 将是真的,你将在 if 语句中检查它
void OnCollisionEnter (Collision col)
{
if(col.gameObject.getComponent<YourBoolScriptName>().isObjectMoving == true)
//Debug.Log(the other body hit me);
}
希望这可以帮助!干杯!
于 2017-07-29T11:02:37.593 回答