@nikitasalnikov
Новичок

Почему передвижение персонажа клавиатурным методам не соответствует?

Здравствуйте. Снова возник вопрос по коду из книги. Почему движение персонажа посредством клавиатуры не соответствует. Код писал как в книге, проверил, ошибок нет. но персонаж при запуске игры и нажатии клавиш двигается в иных направлениях: A - двигается назад, D - вперед, W - влево, S - вправо. Соответственно стрелками также. Буду премного благодарен за помощь.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(CharacterController))]
[AddComponentMenu("Control Script/FPS Input")]

public class FPSInput : MonoBehaviour
{
    public float speed = 6.0f;

    public float gravity = -9.8f;

    private CharacterController _charController;

    // Start is called before the first frame update
    void Start()
    {
        _charController = GetComponent<CharacterController>();
    }

    // Update is called once per frame
    void Update()
    {
        float deltaX = Input.GetAxis("Horizontal") * speed;
        float deltaZ = Input.GetAxis("Vertical") * speed;

     
        Vector3 movement = new Vector3(deltaX, 0, deltaZ);
        movement = Vector3.ClampMagnitude(movement, speed); 

        movement.y = gravity;

        movement *= Time.deltaTime;
        movement = transform.TransformDirection(movement); 
        _charController.Move(movement);
    }

}
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
DanielMcRon
@DanielMcRon
C# && Unity
Попробуйте местами поменять deltaX and deltaZ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы