我有一个基本的立方体预制件,碰撞检测效果很好。
void OnCollisionEnter(Collision collision) {
Debug.Log ("Diram...");
//onplatform = true;
}
然而,当我复制预制件并改变位置/旋转时, 对撞机停止工作,没有发生碰撞事件。
我不想使用触发器,因为对象会丢失所有碰撞并且游戏停止工作。
这里有什么建议吗?
答案 0 :(得分:1)
尝试以下方法:
1 更改:
Rigidbody obj1 = ....
Rigidbody rb1 = obj1.GetComponent<Rigidbody> ();
obj1.transform.position = newPos;
到
Rigidbody obj1 = ....
Rigidbody rb1 = obj1.GetComponent<Rigidbody> ();
obj1.transform.position = newPos;
rb1.MovePosition(newPos+transform.forward);
2 确保在实例化预制件后isKinematic
设置为false
。
rb1.isKinematic = false;