То, как игры создают HUD или меню, заключается в (я думаю) использовании ортографической проекции c, что делает ненужным их размещение на ближней плоскости (и избавляет от некоторых побочных эффектов). Я не нашел ничего более приятного, чем this для описания ортографических c проекций.
Так что для реализации этого у вас будет две ветви framegraph:
- Draw ваши объекты как обычно
- Нарисуйте ваше меню, используя ортографическую c проекцию
Элементы меню могут быть плоскостями, как вы сказали. Вы можете добавить QObjectPicker
s к плоскостям, а затем реагировать на щелчки.
Я реализовал пример для противоположной вещи: я создал рамочный график, который создает aws фоновое изображение за трехмерной сценой. Это требует настройки для изменения масштаба окна, но должно дать вам общее представление. Вы можете найти проект здесь .
( Этот связан с вопросом о том, как поместить обычные виджеты Qt, такие как QPushButton
, в окно Qt3D. )