首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Qt3D场景的旋转中心设置为场景中活动.obj文件的中心?

如何将Qt3D场景的旋转中心设置为场景中活动.obj文件的中心?
EN

Stack Overflow用户
提问于 2019-07-27 03:22:48
回答 2查看 619关注 0票数 1

我有一个Qt3D场景,其中只有一个3D对象。我想将场景(摄像机)的旋转中心设置为这个3D对象的中心。当前,当使用鼠标旋转场景时,3D模型会从视图中消失。

EN

回答 2

Stack Overflow用户

发布于 2019-07-30 15:51:08

还有一个OrbitCameraController,它的目的是查看某个位置。您可以让摄影机位置跟踪对象的位置。

QML示例代码:

代码语言:javascript
复制
Camera {
    id: myCamera
    viewCenter: YOUROBJECTPOSITION
}

OrbitCameraController { camera: myCamera }
// FirstPersonCameraController { camera: myCamera }

我没有像你那样使用pyqt。希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2019-08-01 14:20:24

我正在使用一个带有自定义3D模型的网格作为“源”。qt文档并没有真正指出将返回其3D矢量位置的网格对象的任何属性。

如果在场景中导入obj文件,网格的原点将放置在场景的原点。如果你没有变换它,原点就是你想让摄影机看到的地方。

如果您使用了转换,则使用新位置来查看。

Qt3D使用了一个实体组件系统(Entitiy System),基本上,你可以创建一个实体,然后像网格一样添加组件,然后在你的情况下进行变换。这就是网格没有反映其位置的属性的原因。transform组件保存该信息。

我建议您在Qt文档中阅读以下内容:Qt3D Architecture

上面的解决方案只是在你有较小的物体并且你的相机足够远的情况下使用。但是如果你导入一个更大的网格fi。就像宇宙飞船一样,你可能需要得到你想要查看的地点的坐标。您可以通过使用对象拾取器来获取这些坐标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57225963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档