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

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

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

Сообщение Patau 11 июл 2018, 12:54

Здравствуйте. Проблема в том, что персонаж не поворачивает оси с собой(Извините если не так выражаюсь). То есть, если персонаж повернут на 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);
    }
}
 
Patau
UNец
 
Сообщения: 18
Зарегистрирован: 07 июл 2018, 20:39

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

Сообщение 1max1 11 июл 2018, 13:32

Синтаксис:
Используется 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);

либо так либо так выбирай как удобней)
Аватара пользователя
1max1
Адепт
 
Сообщения: 1566
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Patau 11 июл 2018, 13:56

Спасибо Вам огромное. Спасли )
Patau
UNец
 
Сообщения: 18
Зарегистрирован: 07 июл 2018, 20:39


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 18


cron