Qt Quick 3D简介

这篇具有很好参考价值的文章主要介绍了Qt Quick 3D简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt Quick 3D简介,QT开发,qt,开发语言,qt5,c++,c语言

Qt Quick 3D简介

前言

Qt Quick 3D是Qt自带的一套3D图形系统,与传统的Qt 3D不同的是,Qt Quick 3D采用QML来进行开发。本节则对Qt Quick 3D进行一次简单的介绍。

配置场景

在main.qml中设置整个场景(entire scene)。

在使用Qt Quick 3D之前,为了能够使用QtQuick3D模块中的类型,我们必须导入它:

 import QtQuick
 import QtQuick3D

为了绘制任何3D场景,我们需要在Qt Quick场景中有一个3D视口。这是由View3D类提供的,这是我们定义场景的地方。在一个应用程序中也可以有多个视图。

首先需要从定义场景的环境开始,用天蓝色清除背景颜色。这里在SceneEnvironment中为视图的environment属性指定了天蓝色。SceneEnvironment描述了与场景环境相关的各种属性,如色调映射设置,基于图像照明的光探针设置,背景模式,或环境遮挡参数。除此之外,它还可以控制抗走样。在这里设置clearColor和backgroundMode属性以获得蓝色背景。

 environment: SceneEnvironment {
     clearColor: "skyblue"
     backgroundMode: SceneEnvironment.Color
 }

Meshes网格

在之前的文章中已经介绍过3D模型需要转换为.mesh文件然后传递给QML进行使用。

为了使场景更有趣一点,需要添加一些网格。在Quick 3D中有许多方便的内置网格,例如球体、立方体、圆锥或圆柱体。这些是通过使用特殊的标识符来引用的,比如在模型节点的源属性中使用#Sphere,#Cube,或者#Rectangle。除了内置的原语外,还可以指定.mesh文件。为了从FBX或glTF2资产生成.mesh文件,需要使用Balsam资产导入工具处理这些资产。下面是添加蓝色球体和红色扁平圆柱的代码:

 Model {
     position: Qt.vector3d(0, -200, 0)
     source: "#Cylinder"
     scale: Qt.vector3d(2, 0.2, 1)
     materials: [ DefaultMaterial {
             diffuseColor: "red"
         }
     ]
 }

 Model {
     position: Qt.vector3d(0, 150, 0)
     source: "#Sphere"

     materials: [ DefaultMaterial {
             diffuseColor: "blue"
         }
     ]

     SequentialAnimation on y {
         loops: Animation.Infinite
         NumberAnimation {
             duration: 3000
             to: -150
             from: 150
             easing.type:Easing.InQuad
         }
         NumberAnimation {
             duration: 3000
             to: 150
             from: -150
             easing.type:Easing.OutQuad
         }
     }
 }

相机

然后定义一个摄像机,它指定如何将3D场景的内容投影到2D表面上。在这里使用了透视图相机,它为我们提供了一个透视图投影。正投影也可能通过正投影相机类型。相机的默认方向是向前矢量沿负Z轴,向上矢量沿正Y轴。这里将相机在Z轴上移动回300。此外,它在Y轴上移动了一点,并在X轴上稍微旋转,使其看起来稍微向下。

 PerspectiveCamera {
     position: Qt.vector3d(0, 200, 300)
     eulerRotation.x: -30
 }

灯光

最后设置一个灯光进行照射,3D模型反射这些灯光后才能被肉眼所看见。文章来源地址https://www.toymoban.com/news/detail-645709.html

 DirectionalLight {
     eulerRotation.x: -30
     eulerRotation.y: -70
 }

到了这里,关于Qt Quick 3D简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt开发笔记(Qt5.9.9下载安装环境搭建win10)

    #1 Qt下载网站(国内、国外镜像) #2 Qt5.9.9安装选项 #3 配置系统环境变量 #4 创建测试项目 #1 Qt下载网站(国内、国外镜像) 官方下载地址(慢):http://download.qt.io/ 国内镜像网站 这里给大家推荐几个国内著名的 Qt 镜像网站,主要是各个高校的: 中国科学技术大学:http://mi

    2024年02月15日
    浏览(51)
  • Qt5开发及实例V2.0-第七章-Qt图形视图框架

    7.1.1 Graphics View的特点 Graphics View框架结构的主要特点如下。 (1)Graphics View框架结构中,系统可以利用Qt绘图系统的反锯齿、OpenGL工具来改善绘图性能。 (2)Graphics View支持事件传播体系结构,可以使图元在场景(scene)中的交互能力提高1倍,图元能够处理键盘事件和鼠标事

    2024年02月07日
    浏览(51)
  • Qt5开发及实例V2.0-第四章Qt基本对话框

    首先介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox),运行效果如图4.1所示。 按如图4.1所示依次执行如下操作。 (1)单击“文件标准对话框实例”按钮,弹出“文

    2024年02月07日
    浏览(110)
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8

      上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。     系统版本:      参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》   

    2024年02月08日
    浏览(55)
  • YOLOv5+QT5界面应用开发

    YOLOv5+QT5的UI界面开发 最终界面图: 本文章基于python3.7的Annaconda中虚拟环境开发: 1.1 配置YOLOv5环境 https://github.com/ultralytics/yolov5 下载yolov5程序后,虚拟环境下运行: activate v5 pip install -r requirements.txt 1.2 配置QT环境 pip install pyqt5 pyqt5-tools 使用pyqt5自带的图形界面设计工具:de

    2023年04月19日
    浏览(45)
  • Qt Quick 项目(第二集Qt Quick Application创建)

    上集回顾 Qt Quick 项目(第一集Qt Quick UI 项目项目创建)     如果将程序的用户界面称为前端,将程序中的数据存储和业务逻辑称为后端,那么传统Qt应用程序的前端和后端都是使用C++来完成的。对于现代软件开发而言,这里有一个存在已久的冲突:前端的演化速度要远快于后

    2024年01月25日
    浏览(40)
  • 基于Qt5的图像交互控件开发(C++实现)

    博主近期看到海康VM、halcon以及visionpro视觉软件都包含一个图像智能交互控件,然后近期根据其中的技术原理,也基于Qt5仿照开发了一个类似的功能,包含矩形、旋转矩形、任意多边形、圆、圆环、扇环,直线卡尺以及圆卡尺等常用控件,图像智能交互是在计算机视觉领域中

    2024年02月05日
    浏览(59)
  • Qt5开发环境-银河麒麟V10ARM平台

    前言 近期因参与开发的某个软件需要适配银河麒麟v10arm 平台,于是自己搭建起一套Qt 开发环境,在此记录下具体过程,以供有需要的朋友参考。一开始手上并没有Arm架构的PC,先在Windows下用Vs2017和QtCreator 开发,软件开发快结束的时候Arm PC到了。Qt 没有提供可直接安装的arm架

    2024年02月12日
    浏览(61)
  • win10+QT5.15+cryptopp562 完整配置开发

    1、准备如下几项内容:         a、WIN10环境下的QT5.15.2安装包,QTCreator对应版本安装。(自行安装)         b、cryptopp562安装包下载,官网:https://www.cryptopp.com/,这里没选择最新的8.7是因为mingw-32编译后的库文件使用有问题,有错误,但是5.6用同样的方式编译就可以正常使

    2024年02月10日
    浏览(36)
  • Qt5.15.2安卓Android项目开发环境配置

    官方下载:https://download.qt.io/archive/qtcreator/4.11/4.11.2/ 镜像下载:https://mirrors.cloud.tencent.com/qt/archive/qtcreator/4.11/4.11.2/ 官方更新器内部下载 参考:https://blog.csdn.net/weixin_41013202/article/details/129957693 https://adoptium.net/zh-CN/temurin/releases/ (1) Android SDK Platform 最新版(现在是33) (2)

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包