【发布时间】:2013-10-16 16:17:30
【问题描述】:
所以我正在使用 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");
}
}
但我会将角色直接穿过方块,但什么也没有发生!
然后我决定创建一个新的空白场景并制作两个立方体。两者都有盒子对撞机。我将一个拖到另一个之上,并为其添加了刚体物理。但是当我点击播放时,它就从另一个街区掉了下来!任何帮助将不胜感激!
【问题讨论】:
-
你是否尝试同时检查 isTrigger
-
“当我点击播放时,它会从地板上掉下来。”请确保 (a) 地板连接了对撞机,并且 (b) 有问题的对象在 layers that collide with each other 上。如果你从一个空项目开始,然后将一个 Cube+Rigidbody 放到一个 Plane 上,它们应该会发生碰撞。
-
我之前没听说过基于层的碰撞检测...我试试看
-
谢谢!!这现在解决了我的问题!
标签: android unity3d unityscript collision rigid-bodies