Как сделать систему Lean / Peak в единстве? - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь создать систему наклона / пика, подобную той, что мы видим в Rainbow Six Siege, у меня есть идея, как это сделать, но я не могу ее выполнить. У меня есть сценарий для моего персонажа и один для камеры моего персонажа; вот сколько камера смотрит:

 void Update()
     {
         CameraRotation();
         if (Input.GetKey(KeyCode.Q))
         {
             isLeaningLeft = true;

             transform.Rotate(0, 0, -10 * Time.deltaTime);
         }
         else
         {
             isLeaningLeft = false;
         }

         if (Input.GetKey(KeyCode.E))
         {
             isLeaningRight = true;
             print("Leaning Right");
         }
         else
         {
             isLeaningRight = false;
         }
     }

Я также сохраняю исходное положение камеры, чтобы потом вернуться к ней

  Transform playerCamera;

     Vector3 initPos;

     Quaternion initRot;

     bool isLeaningLeft;
     bool isLeaningRight;


     // Start is called before the first frame update
     void Start()
     {
         //This doesn't matter here..
         //LockCursor();
         //xAxisClamp = 0;

         initPos = playerCamera.localPosition;
         initRot = playerCamera.localRotation;
     }

Так что это, очевидно, не работает, и я понимаю, почему это не так. Нужно ли использовать кватернионные или эйлеровы углы? Если бы кто-нибудь мог указать мне правильное направление, это было бы очень признательно.

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