使用盒式对撞机无法让刚体碰撞在Unity3d中工作

时间:2013-10-16 16:17:30

标签: android unity3d unityscript collision rigid-bodies

所以我使用Unity创建一个Android游戏,我无法解决任何冲突。两个物体都有箱式碰撞器,一个物体上有刚性体。当我击球时,它只是落在了地板上。所以我试图让刚体对象运动并通过transform.Transform而不是rigidbody.addforce来控制它的运动然后我用一个具有" Is Trigger&#的盒子对撞机在角色前面制作了一个立方体。 34;检查。然后我将这个脚本附加到刚体和立方体上。

#pragma strict
function OnTriggerEnter ( block : Collider){

print("BA BAM!");
Destroy(block.gameObject);

}
function Update () {
if (Input.GetKeyDown(KeyCode.Escape)) {
    Application.LoadLevel("MainMenu");
}
}

但我会将角色直接移动到街区,没有任何反应!

然后我决定创建一个新的空白场景并制作两个立方体。两者都有盒子对撞机。我把一个拖到另一个上面,并为它添加了刚体物理学。但是当我点击游戏时,它只是落在另一个街区!任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

触发器不是实心的,因此带有触发器和刚体的盒子会穿过实体对象。通常,不应将具有刚体的物体设置为触发,并且应将静止体积设置为触发。除此之外,我尝试了你的代码,它的工作正常。您确定将此脚本应用于碰撞的对象吗?

答案 1 :(得分:0)

使用“翻译”功能移动对象会将对象传送到新的Vector3位置,而不是平滑移动它。

另外,检查每个对象设置的Physics层。然后,转到编辑 - >用于编辑物理层可以相互碰撞的物理。

除此之外,我推测它会因你安装Unity时出现一些错误。