阻止我的 2d 物体通过盒子对撞机
Stop my 2d object from going thru box collider
所以现在我有一个可以移动的盒子 left/right,在侧面我还有其他盒子可以阻止玩家进入虚空。很难解释,但基本上我有中间的玩家,然后每边都有一个盒子来阻止玩家从 运行 进入虚空。尽管我已经用盒子碰撞器和 ridgidbodies 设置了所有东西,但当我将我的设备一直倾斜到一边时,玩家会直接穿过盒子,但如果我稍微倾斜设备,玩家就会在两侧弹跳,它变得非常生涩的。我怎样才能做一些任何物体都无法穿透的障碍?比如我需要做些什么来建造一堵墙,这样任何东西都无法穿过它?这是我用来控制播放器的代码,谢谢!
using UnityEngine;
using System.Collections;
public class Tilt : MonoBehaviour {
void FixedUpdate ()
{
transform.Translate(Input.acceleration.x * Time.deltaTime * 10, 0, 0);
}
}
您遇到此问题是因为您正在使用 transform.translate
移动您的角色。无论是否有任何碰撞器,此方法都会将您的角色放置在指定位置。
正如您所说,您已将刚体附加到您的角色,因此请尝试使用 rigidbody.velocity
来移动您的角色。
如需更多帮助,请查看以下内容 Unity Tutorial。
所以现在我有一个可以移动的盒子 left/right,在侧面我还有其他盒子可以阻止玩家进入虚空。很难解释,但基本上我有中间的玩家,然后每边都有一个盒子来阻止玩家从 运行 进入虚空。尽管我已经用盒子碰撞器和 ridgidbodies 设置了所有东西,但当我将我的设备一直倾斜到一边时,玩家会直接穿过盒子,但如果我稍微倾斜设备,玩家就会在两侧弹跳,它变得非常生涩的。我怎样才能做一些任何物体都无法穿透的障碍?比如我需要做些什么来建造一堵墙,这样任何东西都无法穿过它?这是我用来控制播放器的代码,谢谢!
using UnityEngine;
using System.Collections;
public class Tilt : MonoBehaviour {
void FixedUpdate ()
{
transform.Translate(Input.acceleration.x * Time.deltaTime * 10, 0, 0);
}
}
您遇到此问题是因为您正在使用 transform.translate
移动您的角色。无论是否有任何碰撞器,此方法都会将您的角色放置在指定位置。
正如您所说,您已将刚体附加到您的角色,因此请尝试使用 rigidbody.velocity
来移动您的角色。
如需更多帮助,请查看以下内容 Unity Tutorial。