使用角色控制器连续前进?

时间:2014-03-08 16:45:46

标签: unity3d game-physics

我的问题总结了我正在做的事情。

我搜索了互联网,每个人都不断给我通常的transform.Translate答案,这对我不起作用,因为我需要物理和碰撞,而不仅仅是向前移动角色。

我知道怎么用rigidbody来做这件事,但我的角色不断滚动,这是我不想要的。

3 个答案:

答案 0 :(得分:1)

如果角色滚动,则可以冻结刚体上的一些旋转约束。

无论如何,这是来自角色控制器的脚本参考:https://docs.unity3d.com/Documentation/ScriptReference/CharacterController.Move.html

从中我猜你可以根据需要进行调整。

答案 1 :(得分:1)

使用CharacterController并使用其Move和SimpleMove函数。请参阅默认字符包以了解有关它的更多信息,并且您也可以使用该软件包中的字符电机脚本。

答案 2 :(得分:0)

首先添加Character Controller组件创建一个名为Move的新脚本,然后打开它并复制并粘贴此代码

  #pragma strict

function Update () {
var Controller : CharacterController = GetComponent(CharacterController);
var forward : Vector3 = transform.TransformDirection(Vector3.forward);
Controller.SimpleMove(forward);
}

之后将脚本添加到您的播放器对象,然后您就完成了:)