Спрайт Unity отлетает с карты при вращении - PullRequest
0 голосов
/ 15 января 2019

В настоящее время я программирую игру, в которой игрок должен наклонить свой телефон, чтобы вращать мир, чтобы он мог перемещаться по лабиринту. Это трудно, так как, когда я поворачиваю телефон, спрайт улетает с экрана. Я предполагаю, что это связано с силами между персонажем и коллайдерами мира, которые в конечном итоге запускают персонажа. Однако я хочу, чтобы у персонажа была гравитация, следуя за игроками относительно направления вниз, чтобы, когда персонаж вращается, он падал в направлении своих ног.

Следовательно, как мне повернуть направление гравитации относительно направления спрайта и не дать игроку улететь при вращении?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GyroController : MonoBehaviour {
    private Gyroscope Gyro ;
    private float rotation;
    private Vector3 startEulerAngles;
    private Vector3 startGyroAttitudeToEuler;
    public GameObject Player = null;

    private void Awake () {
        if (SystemInfo.supportsGyroscope) { 
            Gyro = Input.gyro;
            Gyro.enabled = false;
            startEulerAngles = transform.eulerAngles;
            startGyroAttitudeToEuler = Input.gyro.attitude.eulerAngles;
            Debug.Log("Gyro Enabled");
        }
        else {
          Debug.Log("No Gyro Detected");
        }
    }
    private void Update()
    {
        Vector3 deltaEulerAngles = Input.gyro.attitude.eulerAngles - startGyroAttitudeToEuler;
        deltaEulerAngles.x = 0.0f;
        deltaEulerAngles.y = 0.0f;
        Player.transform.eulerAngles = startEulerAngles - deltaEulerAngles;
    }
}

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

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

Thankyou.

...