问题标签 [qt3d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QML 场景加载器和图层过滤器
如何将加载了 a 的对象添加SceneLoader
到图层?
在我的 QML 项目中,我正在应用图层过滤器,并在某些图层上显示某些内容,在其他图层上显示其他内容,等等......
我可以将网格添加到图层中:
但是我不知道如何对加载了 的东西做同样的事情SceneLoader
,因为我想使用 3ds(用 转换qgtfl
)对象。
例如
行不通,到目前为止我尝试过的任何其他排列也行不通。(在层中定义它,在 中定义它,LayerFilter
用实体包装它,将它与SceneLoader
组件一起放入实体中,等等)
c++ - 为什么最后创建的 Qt3DCore::QEntity 总是在我的场景视图的前台?
在我的Qt3D
场景中,我的 3D 对象没有根据它们的空间定位显示。不管我如何旋转相机,最后创建QEntity
的总是在前景中。在我的示例中,QEntity
redBigSphere
即使它在空间上位于smallGreenSphere
相机设置中指定的默认视图的后面,它也始终位于前景中。
main.cpp
:
(结果图片:http: //imgur.com/a/A7tIW)
如果我交换实例化的顺序,smallGreenSphere
总是在前台。
(结果图片:http: //imgur.com/a/fygTU)
无论实例化顺序如何,如何获得正确的 3D 视图?
我是 Qt 和 Qt3D 的新手,所以请在你的回答中考虑这一点。(由于我的声誉低,我只能提供图片的链接。)
c++ - Qt3D 应用程序在任何按钮按下时触发系统声音
我检查了 Qt3D 模块的标准示例,但按下任何按钮都会触发烦人的 osX 系统声音,即按下错误按钮时的声音,但应用程序的相机控制器在场景中移动相机方面的响应很好。任何想法系统声音触发的原因是什么?
c++ - 为什么 Qt3DRender::QPickEvent 不继承自 QEvent?
Qt3D 引入Qt3DRender::QPickEvent
了例如当用鼠标单击 3D 对象时可以发出的。
为什么它不是派生自QEvent
, 根据其文档,它应该是“所有事件类的基类”?
python - PyQt5 中是否存在 Qt3DQuickWindow?
试图让 QML 3D 示例在 Python 中工作,但我在任何地方都找不到 Qt3DQuickWindow。它在那里吗?或者会是什么时候?
qt - 鼠标控制 Qt 3D 窗口
我有一个包含 Qt3DWindow() 的 QWidget。我希望能够使用鼠标滚轮在 Qt3DWindow 内“放大”和缩小 QtEntity,同时将鼠标悬停在窗口上。
我有这个功能,但只有当鼠标悬停在 Qt3DWindow 框架之外时。这是我用于初始化窗口和处理鼠标滚轮事件的代码。
窗口初始化:
处理车轮事件:
将鼠标悬停在 Qt3DWindow 框架上时,覆盖窗口鼠标抓取的技巧是什么?
提前感谢您的帮助。
qt - qnx 目标上的“未安装 QtCanvas3D”错误
我已经使用 Qnx 套件编译了“frameBuffer”canvas3D 示例,并尝试在我的 Qnx 目标上运行该可执行文件,但它抛出以下错误:
谁能建议如何安装这些缺少的模块。我正在使用 Qt Crea tor 3.5.1(企业)许可版本。
qt - 错误:: 未安装 QtQuick 包
我正在尝试在 qnx 平台上执行 canvas3d 项目。执行时会抛出如下错误
main.qml 已在下面导入
import QtQuick 2.0
import QtCanvas3D 1.0
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.0
谁能帮我弄清楚如何安装这个缺失的模块?我正在使用 Qt Creator 3.5.1(企业)许可版本。提前致谢。
qt - 在 Qt3D 中添加和删除实体时崩溃
我有应该在运行时创建和删除的实体。实体只有材料和网格组件。材质是 QDiffuseMapMaterial 和 QTextureImage。
当实体开始从场景中添加和删除时,有时应用程序会因此断言而崩溃:
qt_assert:断言:文件../../include/Qt3DRender/5.8.0/Qt3DRender/private/../../../../../src/render/texture中的“img!= nullptr” /apitexturemanager_p.h,第 286 行
但不幸的是,我无法弄清楚为什么会这样。我以这种方式添加实体:
并像这样删除:
_rootEntity
是 cpp 代码中定义的场景根实体。使用 Scene3D 在 QML 文件中定义的场景:
并_rootEntity
像这样通过:
context->setContextProperty("rootEntity", _rootEntity);
如果有必要,我可以准备重现问题的简单示例。
谢谢。
c++ - Qt 3D 中的按键事件
我正在使用 Qt 学习 3D 并且遇到了问题。我正在分析示例:https ://doc.qt.io/qt-5/qt3d-basicshapes-cpp-example.html
现在我想修改它:当用户按下一个键(比如说'w')时,某些东西正在移动(或者只是在这个阶段调试打印)。我试图写一个keyPressEvent
函数,但我没有效果。我应该以与标准 2D 应用程序不同的方式进行操作吗?
干杯,米科拉伊