[英]Staying with player on a moving object with physics and rigidbody doesn't work in Unity
我正在尝试使字符 controller 可以站在使用轮式加力机、刚体和简单脚本的移动火车的地面上,以 go 向前。 我尝试了很多教程,他们将 PlayerController 作为移动平台的子节点,但是当我使用以下脚本时它不起作用:
{
public GameObject Player;
private void OnTriggerEnter(Collider other)
{
if(other.gameObject == Player)
{
Player.transform.parent = transform;
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject == Player)
{
Player.transform.parent = null;
}
}
}
这就是我的“火车”的运作方式。 它就像一辆普通的汽车,但它在轨道上滑动,每个车轮下都有 2 个碰撞器。
在编辑器中训练身体图片:
使用该脚本,我的玩家 object 进入火车的孩子,但是当火车移动时,玩家无论如何都会停留在一个地方,或者物理变得疯狂并且它会夹在它上面,但它的速度与火车不同并且它滑到一个随机的地方。 我认为这是因为我使用的脚本通常用于动画平台而不是物理平台。 我对统一和编码真的很陌生,所以如果有人能帮助我解决我的问题,我会非常高兴。
如果玩家也有一个刚体,那将解释这种行为。 您同时使用物理(刚体)和直接变换操作(由于重新设置)来移动玩家。 因此,如果您在骑行过程中不需要控制玩家,您可以关闭玩家的刚体并在他/她离开时再次打开它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.