menu - 如何在 Qt3d 场景中创建菜单
问题描述
我想构建一个游戏,因此我想创建一个游戏菜单。这个菜单应该在场景的前面,但不能完全隐藏它,以某种方式粘在相机的镜头上。我的第一个想法是将平面创建为按钮,并将它们定位在与近平面相同的位置,然后用相机移动它。还有更简单的方法吗?
(我也看到了这个,但是没有qml我不知道怎么做)
解决方案
游戏制作 HUD 或菜单的方式是(我认为)使用正交投影,这使得它们不必在近平面上放置(并消除了一些副作用)。我没有找到比这更好的描述正交投影的方法。
因此,要实现这一点,您将有两个框架图分支:
- 像往常一样绘制你的对象
- 使用正交投影绘制菜单
菜单的元素可能是你说的飞机。您可以将QObjectPicker
s 添加到平面,然后对点击做出反应。
我已经为相反的事情实现了一个示例:我创建了一个在 3D 场景后面绘制背景图像的框架图。它需要调整以重新缩放窗口,但应该给你一个大致的想法。您可以在此处找到该项目。
(这是一个有关如何将普通 Qt 小部件(如QPushButton
Qt3D 窗口)放入的相关问题。)
推荐阅读
- pandas - 当列中有重复值时,如何根据索引分配列?
- python - 如何在 selenium python 中抓取突出显示的表数据
- sql - 两列中的 SQL 顺序
- google-apps-script - 在谷歌脚本上,有没有办法向单个用户显示消息或提示?
- r - 在另一个变量的值在该日期达到最大值/最小值的日期之后使用拆分数据框
- date - avro 架构 LocalDate 映射
- javascript - 如何在 CSS 中自动调整跨度圆的大小
- java - 在 Java 中声明 ConcurrentHashMap 时是否必须添加 final 关键字
- javascript - 三角 Javascript
- javascript - 为什么我的 for 循环不会注销任何 alt 值?