Unity C#第一人称脚本不动

时间:2015-04-15 17:56:24

标签: c# unity3d game-physics

我对团结很陌生,我决定制作一个简单的第一人称游戏,但是我的剧本只允许玩家环顾四周,而不是移动。我使用过AddForce,但我不确定我是否已正确完成。

public float walkSpeedForward = 5f;
public float walkSpeedStrafe = 4f;
public float walkSpeedBack = 3f;
public float sprintMultiplier = 2f;
public Camera cam;
public float sensitivityX = 0f;
public float sensitivityY = 0f;
public float minimumX = -360F;
public float maximumX = 360F;
public float minimumY = -60F;
public float maximumY = 60F;
public Rigidbody rb;
float rotationY = 0f;


// Use this for initialization
void Awake () {
    rb = GetComponent<Rigidbody>();
    rb.freezeRotation = true;
}

// Update is called once per frame
void Update () {
    float rotationX = cam.transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * sensitivityX;
    rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
    rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
    cam.transform.localEulerAngles = (new Vector3(-rotationY, rotationX, 0f));

}
void FixedUpdate()
{
    rb.AddForce (new Vector3 (Input.GetAxis ("Horizontal") * walkSpeedStrafe * Time.deltaTime, 0, Input.GetAxis ("Vertical") * walkSpeedForward * Time.deltaTime));
}

1 个答案:

答案 0 :(得分:1)

不要使用AddForce,它是物理推送对象。实际上并不适合移动角色。

您可以了解如何正确制作脚本,甚至可以通过点击

来使用现成的脚本

资产&gt;导入包&gt;字符。这个软件包已经有了字符声音和你正在寻找的脚本。如果需要,您可以只选择脚本,但我建议您在尝试学习之前将其全部导入。所以你会知道如何附加声音,控件,模型。当你从这个包中学习时。仅供参考,您不需要下载它,它已经在您的计算机上。

观看此视频Click Here

只需要12分钟的时间。