После вращения gameobje с джойстиком, поверните сброс.коррекция поворота джойстика - PullRequest
0 голосов
/ 25 марта 2019

После вращения персонажа с помощью jotstick. поверните сброс. Направление персонажа С помощью джойстика я хочу, чтобы персонаж смотрел в этом направлении, когда я поворачиваю руку в нужном направлении, а затем вытаскиваю руку из джойстика. Не позволяйте ему смотреть в том же направлении джойстики, когда я ушел. как мне это сделать. спасибо.

public class MyJoystick : MonoBehaviour
{
    public Joystick joystick;
    public Joystick joystickRot;
    public float moveSpeed;
    Quaternion targetRotation;
    Rigidbody rigidbody;


    // Start is called before the first frame update
    void Start()
    {
        rigidbody = GetComponent<Rigidbody>();

    }

    // Update is called once per frame
    void Update()
    {
        // var rigidbody = GetComponent<Rigidbody>();


        rigidbody.velocity = new Vector3(joystick.Horizontal * moveSpeed, rigidbody.velocity.y, joystick.Vertical * moveSpeed);

        // this is problem
        // don't reset the rotate when joysticki is released.

        transform.eulerAngles = new Vector3(transform.eulerAngles.x, Mathf.Atan2(joystickRot.Horizontal
              , joystickRot.Vertical) * Mathf.Rad2Deg, transform.eulerAngles.z);
    }
}

1 Ответ

0 голосов
/ 28 марта 2019

'joystickRot' будет возвращать нули, когда вы не нажимаете в любом другом направлении, поэтому ваше вращение сбрасывается, поэтому вы должны сначала проверить, что джойстик действительно используется, прежде чем применять значения к вашему вращению преобразования GameObjects.

Я не слишком знаком с системой джойстика, которую вы используете, но наверняка найдется способ проверить, используется ли джойстик или нет, и применять силу и вращения только тогда, когда он есть.

Кстати, у вас есть два объекта джойстика, но я думаю, что вам нужен только один.

...