尝试在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);
}
}
我正在遵循教程,看起来一切都是一样的,但玩家没有移动。
如果这与教程相同,那么你的问题一定是关于你的输入设置。检查你的"水平","垂直","跳跃",从编辑->项目设置->输入
然后在检查器中查看轴列表下的变量,检查它们是否被分配为true,也许没有水平或垂直变量。