Вращать игрока на сфере с помощью джойстика - PullRequest
0 голосов
/ 17 октября 2018

Я хочу повернуть моего игрока на сферу в единстве и использовать этот код для вращения, но он работает на некоторых позициях на сфере, кто-нибудь может помочь решить эту проблему?или нажмите ссылку, чтобы посмотреть проблемное видео.

using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;


public class Follow_guide_pos : MonoBehaviour {

     private Vector3 input;

     void Update () {
    //rotation of player input
    input = new Vector3(CrossPlatformInputManager.GetAxisRaw("Horizontal_rot"),CrossPlatformInputManager.GetAxisRaw("Vertical_rot"),0);
    }

    void FixedUpdate(){
    //rotation of player output
    transform.LookAt(transform.position+input,transform.up);


   }
}

Ссылка на видео - это видео проблемы.0: 03-0: 07 плоскость вращается правильно, но после перемещения в другом направлении она вращается на другой оси или не вращается, как раньше.

1 Ответ

0 голосов
/ 17 апреля 2019

Функция LookAt принимает направление «вверх», чтобы помочь ей выровнять объект в нужной ориентации.Когда вы двигаетесь по сфере, истинное «вверх» вашего транспортного средства меняется.Поэтому вам нужно изменить вектор «вверх» в LookAt, чтобы он соответствовал желаемому «вверх» вашего автомобиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...