原文链接:http://amin-ahmadi.com/2018/01/28/viewing-3d-models-using-qt/

本文使用QT Quick中的Scene3D QML类型来查看3D模型文件,QT 3D使用assimp库来加载,支持如下3D文件格式:

3D, 3DS, 3MF, AC, AC3D, ACC, AMJ, ASE, ASK, B3D, BLEND (Blender), BVH, COB, CMS, DAE/Collada, DXF, ENFF, FBX, glTF 1.0 + GLB, glTF 2.0, HMB, IFC-STEP, IRR / IRRMESH, LWO, LWS, LXO, MD2, MD3, MD5, MDC, MDL, MESH / MESH.XML, MOT, MS3D, NDO, NFF, OBJ, OFF, OGEX, PLY, PMX, PRJ, Q3O, Q3S, RAW, SCN, SIB, SMD, STL, STP, TER, UC, VTA, X, X3D, XGL, ZGL等

我使用QT5.12+Qt Creator4.8.0测试,效果图如下:

QML文件将包含ApplicationWindow,其中ToolBar(包含ToolButton)使用FileDialog打开3D模型文件,Scene3D将包含加载的模型:

main.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
import QtQuick.Controls 2.2
import QtQuick.Dialogs 1.2

import QtQuick.Scene3D 2.0

import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0

ApplicationWindow
{
    visible: true
    width: 640
    height: 480
    title: qsTr("3D Viewer")
    
    header: ToolBar
    {
        ToolButton
        {
            text: "Open 3D Model"
            onPressed:
            {
                fileDialog.open()
            }
        }
    }
    
    FileDialog
    {
        id: fileDialog
        onAccepted:
        {
            sceneLoader.source = fileDialog.fileUrl
        }
    }
    
    Scene3D
    {
        anchors.fill: parent
        
        aspects: ["input", "logic"]
        cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
        
        Entity
        {
            id: sceneRoot
            
            Camera
            {
                id: camera
                projectionType: CameraLens.PerspectiveProjection
                fieldOfView: 30
                aspectRatio: 16/9
                nearPlane : 0.1
                farPlane : 1000.0
                position: Qt.vector3d( 10.0, 0.0, 100.0 )
                upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
                viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
            }
            
            OrbitCameraController
            {
                camera: camera
            }
            
            components: [
                RenderSettings
                {
                    activeFrameGraph: ForwardRenderer
                    {
                        clearColor: Qt.rgba(0, 0.5, 1, 1)
                        camera: camera
                    }
                },
                InputSettings
                {
                }
            ]
            
            Entity
            {
                id: monkeyEntity
                components: [
                    SceneLoader
                    {
                        id: sceneLoader
                    }
                ]
            }
        }
    }
}

例子比较简单,主要使用了SceneLoader来加载3D模型文件,只能实现3D模型文件简单的加载,以及鼠标滚轮缩放等,更详细的操控可在InputSettings中完善!

转载于:https://www.cnblogs.com/MakeView660/p/10571147.html

QT QML 3D模型查看器相关推荐

  1. 轻量级3d模型查看器_Adobe XD+AI+DN完成智能手表逼真3D效果

    在为新产品创建界面时,二维只是设计过程的第一步.通过生成产品本身准确的可视化 3D 效果,考虑 UI 设计在现实世界中的效果也很重要.Adobe Dimension 是易于使用的 3D 场景设计工具, ...

  2. 轻量级3d模型查看器_NVIDIA这是要统领3D软件了么?感觉一股强大冲击波~

    点击上方蓝字CG世界关注我们 " 感知CG · 感触创意 · 感受艺术 · 感悟心灵 " 中国极具影响力CG领域自媒体 Hi大家好,CG世界开始营业!小伙伴们应该听说过人工智能绘图 ...

  3. ShowWebGL 强大的3D模型查看器

    ShowWebGL [url]http://showwebgl.com[/url] 这是一个可以显示3D模型的网站,支持的模型格式简直让人无法想想: obj, ive, 3ds, dae, ply, ...

  4. 轻量级3d模型查看器_你该试试这样来管理你的3D资产了 Connecter

    当我们在完成一些复杂的3D工程时,总会需要制作许多细节,像一些房子,电线杆,石头,花花草草,灯光,茶几,沙发等等 而这些素材是可以重复使用的,制作完成后就可以把它作为我们的3D资产保存起来,为以后的制 ...

  5. Geometric Glovius Pro v6.0.0.624 3D可视化分析/3D模型查看器

    前言 Geometric Glovius Pro是一款用于CATIA V4/V5/V6,STEP,IGES,Creo,Pro/ENGINEER,NX,SolidWorks,Solid Edge 和 I ...

  6. 轻量级3d模型查看器_耐能取得两项软件著作权,自研轻量级3D人脸识别算法领先业界...

    近日,耐能收到国家版权局颁发的两份<计算机软件著作权登记证书>,两款软件分别是人脸活体检测和人脸识别开发包软件V1.1.0.卷积神经网络简化和加速开发工具软件V2.2.17.这次取得两项软 ...

  7. 安卓手机MTK手机3d模型查看器源码APP下载

    github部分代码 package org.andresoviedo.app.model3D.demo;import android.app.Activity; import android.ope ...

  8. cg查看器html,王者荣耀3d模型查看器网站

    回答:王者荣耀怎么上百星王者? 阵容很重要 小编以前在铂金及以下的段位打排位赛时,队友之间没有默契,很多人选择英雄很任性,小编以前也会很任性的选英雄,只选择自己擅长的.爱玩的英雄,没有一点阵容搭配意识 ...

  9. wifi boombox android,android filament入门,GLB和GLTF模型查看器

    filament入门挺难的,主要是因为受干扰的信息太多了,有arCore的干扰,也有scenceform的干扰.这里通过制作3D模型查看器的方式,理清他们之间的关系. 有用的信息来源主要有3个: 1, ...

  10. Android增强现实(三)-3D模型展示器

    1.Android增强现实(一)-AR的三种方式(展示篇) 2.Android增强现实(二)-支持拖拽控制进度和伸缩的VrGifView 3.Android增强现实(三)-3D模型展示器 前言 前段时 ...

最新文章

  1. 最新必读图神经网络论文
  2. (转帖)数据库时代的终结
  3. Boost:基于Boost的阻塞tcp echo的测试程序
  4. Think in Java第四版 读书笔记8第14章 类型信息(RTTI与反射)
  5. 变分自编码器(VAE)详解与实现(tensorflow2.x)
  6. OSPF 配置实验1
  7. Java 爬虫简单起步
  8. 计算机科学工学,2016考研工学类专业介绍:计算机科学与技术
  9. 微信公众号 菜单 { “errcode“: 47001, “errmsg“: “data format error rid: 61b36b ...“}
  10. dtu连接虚拟服务器,DTU连接HTTP网页
  11. 计算机组装的硬件配置及报价,2021组装电脑配置清单及价格表说明
  12. 为什么网站用手机移动4G网络打不开?
  13. wps怎么画网络图_作为数学老师,如何使用WPS来绘制几何图?
  14. TransTrack: Multiple Object Tracking with Transformer
  15. 【Zotero高效知识管理】(4)Zotero的文献管理、阅读及笔记知识管理
  16. 软件测试工程师应该学Python还是学Java?
  17. 将访问控制更改为:共享级访问控制,并重启计算机使设置生效.,Internet应用模拟题...
  18. 归并排序详解(Java语言描述 萌新向)
  19. 实验(三):单片机I/O口实验-模拟开关灯
  20. 4.单片机之静态数码管和动态数码管

热门文章

  1. matlab 识别车辆,基于MATLAB的车辆牌照识别系统设计
  2. .NET Framework 4.6.1包和语言包下载
  3. Android包管理机制(一) PackageInstaller的初始化
  4. 计算机审计质量论文,如何保证计算机审计的质量
  5. web项目接入指纹识别+识别过程信息推送
  6. 谷歌宣布退出中国 google.cn已经关闭
  7. Excel插件POI-ET扩展(NiceXSSFWorkbook)说明
  8. Hashcat破解微软Office加密文件密码
  9. 远程服务器网刻系统,网刻-wu123119-ChinaUnix博客
  10. 夜天之书 #34 企业如何实践开源协同