Как создать меню в сцене Qt3d - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу создать игру, и поэтому я хотел бы создать игровое меню. Это меню должно находиться перед сценой, но не полностью скрывать его, как-то торчащим на объективе камеры. Моей первой идеей было создать плоскости в виде кнопок, расположить их в том же положении, что и ближняя плоскость, и переместить их с помощью камеры. Есть ли более простой способ сделать это?
(я также видел это , но я не знаю, как это сделать без qml)

1 Ответ

0 голосов
/ 06 апреля 2020

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

Так что для реализации этого у вас будет две ветви framegraph:

  1. Draw ваши объекты как обычно
  2. Нарисуйте ваше меню, используя ортографическую c проекцию

Элементы меню могут быть плоскостями, как вы сказали. Вы можете добавить QObjectPicker s к плоскостям, а затем реагировать на щелчки.

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


( Этот связан с вопросом о том, как поместить обычные виджеты Qt, такие как QPushButton, в окно Qt3D. )

...