我对团结很陌生,我决定制作一个简单的第一人称游戏,但是我的剧本只允许玩家环顾四周,而不是移动。我使用过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));
}
答案 0 :(得分:1)
不要使用AddForce,它是物理推送对象。实际上并不适合移动角色。
您可以了解如何正确制作脚本,甚至可以通过点击
来使用现成的脚本资产&gt;导入包&gt;字符。这个软件包已经有了字符声音和你正在寻找的脚本。如果需要,您可以只选择脚本,但我建议您在尝试学习之前将其全部导入。所以你会知道如何附加声音,控件,模型。当你从这个包中学习时。仅供参考,您不需要下载它,它已经在您的计算机上。
观看此视频Click Here
只需要12分钟的时间。