Оси не поворачиваются с персонажем.
Добавлено: 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);
}
}
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);
}
}