我有两个GameObjects
Body1
和Body2
,两者都有单独的BoxCollider
。我想确定哪个GameObject
(Body1
或Body2
)击中了另一个。
答案 0 :(得分:0)
void OnCollisionEnter (Collision col)
{
Debug.Log(col.gameObject.name);
}
通过这个,您可以获得对象的名称。但如果我的问题是正确的,那么它们都有对撞机,而body1
点击body2
与点击率body2
完全相同body1
如果其中一个人站着不动(没有位置改变)而另一个人正在移动,你可以说出歧视,那么你可以说body1
命中body2
或者你的条件是什么。< / p>
要实现此目的,您可以使用bool,例如isObjectMoving
。您可以在Update()
中查看。如果transform.position
正在改变,则bool将为true,您将在if语句
void OnCollisionEnter (Collision col)
{
if(col.gameObject.getComponent<YourBoolScriptName>().isObjectMoving == true)
//Debug.Log(the other body hit me);
}
希望这有帮助!干杯!