Qt 3D Studio-07-虚拟仪表,示例解析

简介: 最近其实一点都不怎么开心,工作上,生活上,都不怎么开心。

工作上,很多事情都是背锅的,明面上属于你来管理,实际上你操控不得,最后背锅的确实你。生活上,家里催生娃娃了,问题是现在我还是个宝宝咧,根本就不敢想,现在每天一点都不想回家,下班了也待在公司,把音响音量调大,自己在那闭目养生。


北京这几天疫情疫情二次来袭,小伙伴们还是要注意身体,毕竟,这个世界上的所有事情,都是在你活着的时候才有意义,所以,不管咋说,生命最重要,没有之一。


写一个虚拟仪表

单纯的虚拟仪表很好写,我也写过很多,包括专业的和自己业余写的东西。这次挑战的是使用Qt 3D Studio来实现一个3D的虚拟仪表。在经过上一个会动的道路上,我和Qt 3D Studio也熟悉了一些,不在存在陌生了,这次就尝试做一个更发展点的内容。先看下Demo中的效果。

image.png

在这个Demo中,目前只有一个表盘,和一个会动的指针,在速度达到一定数值后,会有红色的灯光。鼠标点击一下,可以切换一个倾斜一下。感觉不好实现呀,还得摸索摸索。


看看官方Demo里面是怎么实现的

这里为了方便,我把官方Demo与这个仪表无关的内容都删除掉了,我们来单纯的看一下这个仪表都有那些内容。首先,这个仪表是在整个程序的生命周期里面,都是存在的,那么这个仪表就肯定是在Master层中。我们进入到Master层看看。

image.png

image.png

image.png

image.png

image.png

我们在切换到Master中,看看这两个有什么特殊的地方

这两个文件用的都是自己制作的模型,上面在加上贴图啥的。

image.png

在这里,我们可以看到,这个背景图层上加了两个东西,一个是Diffuse Map 还有一个叫 Specular Reflection的东西,这两个东西翻译一下 漫反射和镜面反射,如下面两个图。其他参数暂时还没有看到。

image.png

同理,这个背景的另一个外框只加了一个镜面反射的东西,镜面反射是不是就是高光呀。

 image.png

以上就是这个仪表的背景层所看到的内容

下面我们来看看指针,这里官方吧指针做成了一个组件,我们进去看看。

鼠标右击,选着编辑组件即可,如图

image.png

看下这个指针组件里面的内容,有三部分,指针旋转,灯光,和指针模型本身。

image.png

image.png

这个实现的原理,其实还是关键帧。哈哈哈哈,我是不是是找的了Qt 3D Studio的精髓了。看下指针的旋转,这里没有算法,哈哈,只是一个简单的线性旋转。

image.png

让我们看看灯光的属性;

LIght Color 这个就是灯光颜色吧

specular color 高光吧

Ambient color 环境光

brightness 亮度

linear fade 线性渐变

exponential fade 指数渐变

image.png

阴影部分:


shadow darkness 阴影的黑度???这里肯定是理解不对了


shadow softness 阴影的柔软度????


shadow resolution 阴影的分辨率,还是颗粒度 ???我草,这都是啥玩意


shadow depth bias 阴影深度偏差????理解不了


shadow far clip 这个直接不会翻译了,不知道是啥,先放的吧

image.png

image.png


 


image.png

目录
相关文章
|
1月前
|
安全 Java
并发编程之常见线程安全类以及一些示例的详细解析
并发编程之常见线程安全类以及一些示例的详细解析
20 0
|
1月前
|
存储 传感器 安全
【串口通信】使用C++和Qt设计和实现串口协议解析器(二)
【串口通信】使用C++和Qt设计和实现串口协议解析器
174 0
|
1月前
|
存储 开发框架 算法
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
540 0
|
1月前
|
算法 Unix Linux
Linux与Qt线程优先级的对应关系:一次全面解析
Linux与Qt线程优先级的对应关系:一次全面解析
40 0
|
1天前
|
机器学习/深度学习 数据采集 算法
特征工程与数据预处理全解析:基础技术和代码示例
在机器学习和数据科学的世界里,数据的质量是建模成功与否的关键所在。这就是特征工程和数据预处理发挥作用的地方。本文总结的这些关键步骤可以显著提高模型的性能,获得更准确的预测,我们将深入研究处理异常值、缺失值、编码、特征缩放和特征提取的各种技术。
3 0
|
19天前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
15 1
|
25天前
|
程序员 Python
Python中的变量作用域:深入解析与示例
Python中的变量作用域:深入解析与示例
8 1
|
25天前
|
C++
多重指针:深入解析、应用与示例
多重指针:深入解析、应用与示例
|
1月前
|
XML 数据格式
XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素包含其他元素和/或属性,分为4类:空元素、仅含元素、仅含文本和既含元素也含文本。定义复杂元素可通过直接声明或引用预定义的复杂类型。复杂空元素仅含属性,而仅含元素的类型则只包含其他子元素。XSD提供了`<xs:sequence>`、`<xs:all>`、`<xs:choice>`等指示器来规定元素顺序和出现次数,以及`<xs:attributeGroup>`和`<xs:group>`来组织元素和属性。
189 7
|
18天前
|
存储 NoSQL MongoDB
深入解析 MongoDB 与 Python:基本语法、实用示例与最佳实践
深入解析 MongoDB 与 Python:基本语法、实用示例与最佳实践

推荐镜像

更多