尝试在Unity中创建第三人称控制器,但玩家不移动

本文关键字:控制器 玩家 移动 第三人 Unity 创建 | 更新日期: 2023-09-27 18:12:38

这是我目前所做的。

using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
    CharacterController control;
    [SerializeField]
    float moveSpeed = 5.0f;
    [SerializeField]
    float jumpSpeed = 20.0f;
    [SerializeField]
    float gravity = 1.0f;
    float yVelocity = 0.0f;
    // Use this for initialization
    void Start () {
        control = GetComponent<CharacterController> ();
    }
    // Update is called once per frame
    void Update () 
    {
        Vector3 direction = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
        Vector3 velocity = direction * moveSpeed;
        if (control.isGrounded) {
            if (Input.GetButtonDown ("Jump")) {
                yVelocity += jumpSpeed;
            }
        } else {
            yVelocity -= gravity;
        }
        velocity.y = yVelocity;
        control.Move (velocity*Time.deltaTime);
    }
}

我正在遵循教程,看起来一切都是一样的,但玩家没有移动。

尝试在Unity中创建第三人称控制器,但玩家不移动

如果这与教程相同,那么你的问题一定是关于你的输入设置。检查你的"水平","垂直","跳跃",从编辑->项目设置->输入

然后在检查器中查看轴列表下的变量,检查它们是否被分配为true,也许没有水平或垂直变量。