如何在碰撞游戏对象中使用刚体?

时间:2019-07-06 17:37:31

标签: c# unity3d collision

我不知道如何激活刚体在我的游戏中是运动学的,因为我想让碰撞游戏对象和他的孩子在碰撞后使用重力。

我已经尝试过了:

collision.rigidbody.isKinematic = false;

但团结抱怨并给了我这个问题;

NullReferenceException: Object reference not set to an instance of an object

Player.OnCollisionExit(UnityEngine.Collision碰撞)(在Assets / Scripts / Player.cs:258)

但是当我想尝试: 碰撞.gameObject.rigidbody统一找不到刚体。

请stackoverflow再次帮助我, 非常感谢你!

2 个答案:

答案 0 :(得分:1)

碰撞对象没有刚体。

确保添加条件检查,以确保仅在与所需对象发生碰撞时才触发代码,例如:

if (collision.gameObject.tag == "MyKineticObject")
{
    collision.rigidbody.isKinematic = false;
}

答案 1 :(得分:0)

您应该执行以下代码:-

collision.GetComponent<Rigidbody>().isKinematic = false;

Rigidbody rb = collision.GetComponent<Rigidbody>();
rb.isKinematic = false;