Unity3d 区分统一中两个不同游戏对象的方块碰撞器
我有两个Unity3d 区分统一中两个不同游戏对象的方块碰撞器,unity3d,collision-detection,collision,collider,Unity3d,Collision Detection,Collision,Collider,我有两个GameObjectsBody1和Body2,它们都有独立的BoxCollider。我想确定哪个GameObject(Body1或Body2)击中了另一个 void OnCollisionEnter (Collision col) { Debug.Log(col.gameObject.name); } 通过这个,您可以获得对象的名称。但是如果我没有弄错你的问题,它们都有碰撞器,body1hitsbody2与body2hitsbody1 如果其中一个站着不
GameObjects
Body1
和Body2
,它们都有独立的BoxCollider
。我想确定哪个GameObject
(Body1
或Body2
)击中了另一个
void OnCollisionEnter (Collision col)
{
Debug.Log(col.gameObject.name);
}
通过这个,您可以获得对象的名称。但是如果我没有弄错你的问题,它们都有碰撞器,body1
hitsbody2
与body2
hitsbody1
如果其中一个站着不动(没有位置改变),而另一个在移动,则可以说body1
hitsbody2
或任何您的情况
要实现这一点,可以使用bool,如isObjectMoving
。您可以在Update()
中检查它。Iftransform.position
正在更改,bool将为true,您将在If语句中检查它
void OnCollisionEnter (Collision col)
{
if(col.gameObject.getComponent<YourBoolScriptName>().isObjectMoving == true)
//Debug.Log(the other body hit me);
}
void OnCollisionEnter(冲突列)
{
if(col.gameObject.getComponent().isObjectMoving==true)
//Log(另一个实体击中了我);
}
希望这有帮助!干杯