2016-12-30 2 views
0

У меня есть 3D, Y-up мир и перспективная камера. Когда я начинаю свой мир, моя камера находится в положении (0,2,0), глядя на (0,0,1). Теперь я помещаю 3D-модель в (10,5,10). (Пусть это будет куб)LibGDX: Как сохранить объект на одном и том же месте экрана во время поворота камеры

Что нужно сделать (перевод, поворот, ...), чтобы этот объект находился визуально в том же положении, когда я начинаю поворачивать камеру вокруг трех осей или даже переводить/перемещать ее ?

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

То, что я хочу достичь, - это объект, в котором я могу отображать текущий рекорд игрока и независимо от того, где находится игрок, он всегда будет, например, в правом верхнем углу. В обычном приложении я мог бы использовать Scene2D для этого, но поскольку я разрабатываю Карточку Google, Scene2D больше не работает. (Потому что у нас есть два разных режима просмотра перспективы для каждого глаза, и они не могут использоваться для OrthographicCamera Stage).

ответ

0

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

Однако, если я могу предложить лучший способ, вы можете создать отдельный файл PerspectiveCamera, который находится в начале (или где бы то ни было) и отвечает за визуализацию интерфейса отдельно от остальной части вашей игры. Он использует тот же принцип, что и Scene2D, но менее усложнен и упрощает переход вашего пользовательского интерфейса позже, если вы не поддерживаете Карту Google.

+0

Ваш второй подход, кажется, правильный путь вперед. Я получаю, что панель пользовательского интерфейса отображается «статически», но теперь проблема в том, что она обрезается напольным слоем, что выглядит довольно забавно, когда я киваю камеру вверх и вниз. Как я могу сказать openGL, чтобы обрабатывать второй шаг чертежа отдельно от первого? – mbauer

Смежные вопросы