Unity3D: нужна помощь Вращающийся персонаж без привлечения позиции - PullRequest
0 голосов
/ 02 октября 2018

Использование Unity3D 2018.2.8

Я пытаюсь повернуть своего персонажа (от первого лица) без привлечения / изменения позиции.

Камера прикреплена к персонажу.Таким образом, в движении персонажа, камера следует.Я хочу сделать тип касания перетаскиванием, чтобы переместить объекты на 360 градусов.

Не уверен, правильно ли я иду с этим кодом

Кроме того, я должен использовать Quaternion для управления вращением?

И targetToLookAt - это преобразование объекта, в котором расположена камера

public Camera cameraSelf;
private Transform cameraTransform;
private Vector2 cameraRotation;

void FixedUpdate() {
  //  Camera.transform to be the same as camera targets body
  cameraSelf.transform.position = targetToLookAt.GetChild(0).GetChild(0).position;
  cameraSelf.transform.rotation = targetToLookAt.GetChild(0).GetChild(0).rotation;

  //    Moving camera with Mouse
  float pointer_x = Input.GetAxis("Mouse X");
  float pointer_y = Input.GetAxis("Mouse Y");
  //  Using Touch
  pointer_x = Input.touches[0].deltaPosition.x;
  pointer_y = Input.touches[0].deltaPosition.y;

  //  Mouse Movement
  cameraRotation.x += pointer_x * moveSensitivity * Time.deltaTime;
  cameraRotation.y -= pointer_y * moveSensitivity * Time.deltaTime;

  //  Set Rotation of Object
  targetToLookAt.position = cameraRotation;
}
...