0

所以我正在使用 Unity 创建一个 Android 游戏,但我无法让任何碰撞工作。两个对象都有盒子对撞机,一个附有刚体。当我点击播放时,它只是从地板上掉下来。所以我改为尝试使刚体对象运动并通过 transform.Transform 而不是刚体.addforce 控制它的运动,然后我在角色前面制作了一个立方体,并带有一个已选中“Is Trigger”的盒子对撞机。然后我将此脚本附加到刚体和立方体上。

#pragma strict
function OnTriggerEnter ( block : Collider){

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

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

但我会将角色移动到方块中,但什么也没有发生!

然后我决定创建一个新的空白场景并制作两个立方体。两者都有盒子对撞机。我将一个拖到另一个之上,并为其添加了刚体物理。但是当我点击播放时,它就从另一个街区掉了下来!任何帮助将不胜感激!

4

2 回答 2

1

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

于 2013-10-16T22:17:13.757 回答
0

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

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

除此之外,我推测这可能是由于您安装 Unity 时的一些错误。

于 2016-11-07T21:02:02.223 回答