@RandomProgrammer

Камера поворачивается неправильно в Unity?

Написал вот такой скрипт для поворачивания камеры по движению мыши:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestScript0 : MonoBehaviour
{
    private Vector3 LastMousePosition;
    private Vector3 NowMousePosition;
    // Start is called before the first frame update
    void Start()
    {
        LastMousePosition = Input.mousePosition;
    }

    // Update is called once per frame
    void Update()
    {
        NowMousePosition = Input.mousePosition;
        transform.Rotate(0, NowMousePosition.x - LastMousePosition.x, 0);
        transform.Rotate(LastMousePosition.y - NowMousePosition.y, 0 ,0);
        LastMousePosition = NowMousePosition;
    }
}

Когда двигаю мышь строго по вертикали или по строго горизонтали, всё нормально, но когда двигаю по вертикали и горизонтали одновременно камера поворачивается в бок.
Сам скрипт прикреплён к камере.
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Камера в Unity поворачивается правильно. Не правильно поворачивает её ваш код.

Используйте отладки, смотрите, какие углы поворота вы применяете и по каким осям. И после исправляйте ваш код.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы