问题标签 [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.
qml - 如何从 QML 正确处理 Scene3D?
对于我的项目,我需要在 QtQuick.Component 中放置 QtQuick.Scene3D 场景已成功创建,但是当我尝试处理组件时,我在
似乎以错误的顺序删除了对象。所以,有一个问题:我应该在 C++ 中实现整个对象图,还是有正确的方法让 Scene3D 可重新创建?
有我的组件 qml 文件:
我在 Linux 中将 Qt 5.5 用于 32 位 gcc
c++ - 既然 Qt3D 说支持 Linux,我应该如何处理 Linux 上没有 window.h 的问题?
qt - Qt 5.5 的 Qt3D 示例中的 ForwardRenderer 是什么?
Qt 5.5 的 Qt3d 的 Assimp 示例使用 ForwardRenderer。
我复制了代码,并在main.qml
QtCreator 中显示该名称下的红线表示未知组件。点击那个词不会带我去任何地方。
该程序正在编译,没有任何错误,运行时只显示一个蓝色窗口。
什么是 ForwardRenderer?为什么那里有红线?
pyqt5 - PyQt5 是否支持 Qt3D?
我对 PyQt 很陌生,但我刚刚升级到版本 5,期望我可以使用 Qt3D(Qt5 提供),但是当我尝试导入模块时,它总是说“未解决对 Qt3d 的引用” . 所以我在 PyQt 文档中搜索并且没有 Qt3D 模块的参考,因为我想知道:
- 是否可以将 Qt3D 与 PyQt5 一起使用?
- 如果是这样,我该怎么做?
- 如果没有,我可以使用哪些其他库来对导入另一个程序(如 Blender)的 3D 模型进行 3D 可视化。
(我对 vPython 很感兴趣,但我不知道如何从另一个文件导入)
qt - 如何在声明式状态机框架中设置状态转换之间的可逆动画
我想将状态机用于 Qt3D 中的实体对象并在其状态之间制作过渡动画。
我知道 QML 中的两个状态机框架:
第一个框架内置在 QQuickItem 中,它是 QtQuick 中所有可视项目的基类。所以这些元素具有状态机的属性,如状态、转换等。由于Entity没有继承QQuickItem,我只能使用第二个框架。
我希望我的实体有两种状态:可见和隐藏。当它具有“隐藏”状态时,实体将缩小到 0。如果它可见,它将放大到 1。这是我当前使用声明性状态机框架实现的实体状态:
它有效,但我想在过渡之间添加动画。使用 Qt Quick States 我可以像这样使用 Transition 元素:
但我不能使用它,因为 Entity 和 DSM.StateMachine 以及 DSM 框架的其他部分都不包含transitions
属性。
我只看到快速而肮脏的解决方案 - 将 NumberAnimation 元素添加到每个状态的 onEntered 插槽:
有没有办法使用 Transition 或其他具有reversible
属性的元素或某种方式来制作可逆动画,而无需为每个状态重新声明反向动画?
c++ - 使用 qt3d 渲染已经加载的网格
我有生成网格的代码,即作为3D 点N x 3
的双精度数组和三角形的另一个整数数组。如何通过 qt3d 渲染这个网格(注意网格是生成的,因此不是从文件中加载的)?这项任务是如此基本,以至于看起来应该很简单,但似乎 qt3d 的文档很少。V
M x 3
F
qt - 未找到 CameraLens QML 组件 (M300)
我正在关注*这个例子:http ://doc.qt.io/qt-5/qt3drenderer-multiviewport-example.html
*将它逐行添加到新项目中,在我进行时查找每件事。
但是,找不到 CameraLens QML 组件。我正在使用 QT Creator 3.6.0。
这是.pro:
这是我的 QML:
据我所知,我使用的是 QT 5.5(这是我安装的唯一一个),该文档说应该包括 CameraLens:http ://doc.qt.io/qt-5 /qml-qt3d-cameralens.html
我不知道接下来要看什么或可能出了什么问题。
qt - 在 Qt3D 中,当使用 ID 向 Entity 添加组件时,会发生什么?
假编辑:对不起这个奇怪的标题。还不知道如何表达这个问题
上下文:通过这个例子工作: http: //doc.qt.io/qt-5/qt3drenderer-multiviewport-example.html,这个文件:http ://doc.qt.io/qt-5/qt3drenderer-multiviewport- main-qml.html
这是我正在查看的 QML 的稀疏版本:
所以我有这些问题:
1- ID 搜索是如何执行的?据推测,它首先检查本地上下文(因此找到了transform
引用的 incameraViewport1
而不是 in 的那个cameraViewport2
),然后在树上继续前进(这将是它找到cameraLens
组件的方式),但我无法找到文档确认或解释这一点。
2-是否只有一个cameraLens
由两个cameraViewport
实体共享?如,如果我访问并更改cameraLens
through cameraViewport1
,这些更改会影响cameraViewport2
吗?基本上,它是通过值还是通过引用“传递”的?
我可能只是找不到文档;如果是这样,链接很好,带有如何找到它们的解释的链接更好!(还有更多我无法找到文档)
c++ - Show Qt3D stuff inside QWidget in Qt5
So I felt all warm and fuzzy inside after reading that Qt3D has re-emerged in a v2.0 and is in fact becoming a part of Qt5 soon and that parts of it is already available for testing as a tech preview.
I set out with a simple plan, I would have Qt3D working inside a widget in my existing C++/widgets based application. However the only example I could find that shows how to use Qt3D from C++ is called basicshapes-cpp, and it shows some shapes rendered in a separate OpenGL/Qt3D prepared window
(class that extends QWindow
) as opposed from a QWidget
.
Now I read about the role of QWindow
vs. QWidget
and how it all hangs together neatly, but I am still struggling to understand how I can port the Qt3D code from the basicshapes-cpp
program to run inside a QWidget
. What are the basic steps that need to observed?