Страница 1 из 1

Оси не поворачиваются с персонажем.

СообщениеДобавлено: 11 июл 2018, 12:54
Patau
Здравствуйте. Проблема в том, что персонаж не поворачивает оси с собой(Извините если не так выражаюсь). То есть, если персонаж повернут на 30 градусов по оси Y, то все равно на клавишу S он будет двигаться назад в ту же сторону, как и персонаж, который повернут по оси Y правильно. Если чего то будет не понятно, сниму видео.
Сам скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class TestiSC : MonoBehaviour {
    public float moveSpeed;
    public float jumpForce;
    public CharacterController controller;
    public float sensitivity = 11f;

    public Vector3 moveDirection;

    public float rotX;

    public float gravity;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
        moveDirection = new Vector3(Input.GetAxis("Horizontal") * moveSpeed, moveDirection.y, Input.GetAxis("Vertical") * moveSpeed);

        if (controller.isGrounded)
        {
            moveDirection.y = 0f;
            if (Input.GetButtonDown("Jump"))
            {
                moveDirection.y = jumpForce;
            }
        }

        moveDirection.y = moveDirection.y + (Physics.gravity.y * gravity * Time.deltaTime);
        controller.Move(moveDirection * Time.deltaTime);

        rotX = Input.GetAxis("Mouse X") * sensitivity;
        transform.Rotate(0, rotX, 0);
    }
}
 

Re: Оси не поворачиваются с персонажем.

СообщениеДобавлено: 11 июл 2018, 13:32
1max1
Синтаксис:
Используется csharp
moveDirection = (transform.right * Input.GetAxis("Horizontal") + transform.forward * Input.GetAxis("Vertical") + Vector3.up * moveDirection.y) * moveSpeed;

или чтобы не париться перевести локальные координаты в глобальные
Синтаксис:
Используется csharp
controller.Move(transform.TransformVector(moveDirection) * Time.deltaTime);

либо так либо так выбирай как удобней)

Re: Оси не поворачиваются с персонажем.

СообщениеДобавлено: 11 июл 2018, 13:56
Patau
Спасибо Вам огромное. Спасли )