Unity поворачивает камеру с помощью touch — Mobile

#c# #android #ios #unity3d

#c# #Android #iOS #unity3d

Вопрос:

У меня есть камера, следующая за тем, куда идет игрок, используя:

 void Awake() {
         target = GameObject.FindGameObjectWithTag("Player").transform;
     }
     void Update () {
         transform.position = target.position   offset;

     }
 

движение игрока выполняется с помощью джойстика с помощью следующего

 myRBody.velocity = new Vector3(joystick.Horizontal * moveForce,
                                       myRBody.velocity.y,
                                       joystick.Vertical * moveForce);
  if (joystick.Horizontal != 0f || joystick.Vertical != 0f)
         {


             transform.rotation = Quaternion.LookRotation(myRBody.velocity);

         }
 

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

Ответ №1:

Вот полное руководство по тому, что вы просили

Ответ №2:

Вы меняете transform.положение камеры в каждом кадре. Это означает, что вы «телепортируете» его на новую позицию при каждом обновлении. Вам необходимо пересчитать смещение камеры при обнаружении входного сигнала, а затем установить transform.position.