Каков наилучший подход для перемещения камеры на 3D-сцене? - PullRequest
0 голосов
/ 24 января 2019

У меня есть 3D-сцена (я использую UrhoSharp), и вся "активность" сосредоточена вокруг (0,0,0).

Я бы хотел, чтобы пользователь мог перемещать камеру и просматривать сцену.

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

Я пытался реализовать это, но движение камеры не очень интуитивно понятно.

Так что я ищу предложения (и математические) о том, как лучше всего иметь возможность свободно перемещать камеру с помощью мыши.

...