Qt 3D Studio-07-虛擬儀表,示例解析

寫點廢話

最近其實一點都不怎麼開心,工作上,生活上,都不怎麼開心。工作上,很多事情都是背鍋的,明面上屬於你來管理,實際上你操控不得,最後背鍋的確實你。生活上,家裏催生娃娃了,問題是現在我還是個寶寶咧,根本就不敢想,現在每天一點都不想回家,下班了也待在公司,把音響音量調大,自己在那閉目養生。

北京這幾天疫情疫情二次來襲,小夥伴們還是要注意身體,畢竟,這個世界上的所有事情,都是在你活着的時候纔有意義,所以,不管咋說,生命最重要,沒有之一。

寫一個虛擬儀表

單純的虛擬儀表很好寫,我也寫過很多,包括專業的和自己業餘寫的東西。這次挑戰的是使用Qt 3D Studio來實現一個3D的虛擬儀表。在經過上一個會動的道路上,我和Qt 3D Studio也熟悉了一些,不在存在陌生了,這次就嘗試做一個更發展點的內容。先看下Demo中的效果。

在這個Demo中,目前只有一個錶盤,和一個會動的指針,在速度達到一定數值後,會有紅色的燈光。鼠標點擊一下,可以切換一個傾斜一下。感覺不好實現呀,還得摸索摸索。

看看官方Demo裏面是怎麼實現的

這裏爲了方便,我把官方Demo與這個儀表無關的內容都刪除掉了,我們來單純的看一下這個儀表都有那些內容。首先,這個儀表是在整個程序的生命週期裏面,都是存在的,那麼這個儀表就肯定是在Master層中。我們進入到Master層看看。

首先,作者把整個左表做成了一個組個 “Group” 旋轉其實就是給這個組合。

我們能看到的傾斜的動畫,在程序裏面就是修改了這個組合的旋轉屬性。

並在對應參數的變化上增加了變化曲線,是不是曲線,後面測試下

爲了研究明白這個表的構成,我們得切換到普通的幻燈片裏面去看下,這裏我先把其他的內容都隱藏了,我們先知看一下這個背景是怎麼來的。背景有兩部部分組成,一部分是外框,一部分是錶盤。

 

 

我們在切換到Master中,看看這兩個有什麼特殊的地方

這兩個文件用的都是自己製作的模型,上面在加上貼圖啥的。

 

在這裏,我們可以看到,這個背景圖層上加了兩個東西,一個是Diffuse Map 還有一個叫 Specular Reflection的東西,這兩個東西翻譯一下 漫反射和鏡面反射,如下面兩個圖。其他參數暫時還沒有看到。

 同理,這個背景的另一個外框只加了一個鏡面反射的東西,鏡面反射是不是就是高光呀。

 

 以上就是這個儀表的背景層所看到的內容

下面我們來看看指針,這裏官方吧指針做成了一個組件,我們進去看看。

鼠標右擊,選着編輯組件即可,如圖

看下這個指針組件裏面的內容,有三部分,指針旋轉,燈光,和指針模型本身。

 這個實現的原理,其實還是關鍵幀。哈哈哈哈,我是不是是找的了Qt 3D Studio的精髓了。看下指針的旋轉,這裏沒有算法,哈哈,只是一個簡單的線性旋轉。

讓我們看看燈光的屬性;

LIght Color 這個就是燈光顏色吧

specular color 高光吧

Ambient color 環境光

brightness 亮度

linear fade 線性漸變

exponential fade 指數漸變

陰影部分:

shadow darkness 陰影的黑度???這裏肯定是理解不對了

shadow softness 陰影的柔軟度????

shadow resolution 陰影的分辨率,還是顆粒度 ???我草,這都是啥玩意

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

shadow far clip 這個直接不會翻譯了,不知道是啥,先放的吧

來看下燈光的效果,大致意思就是當速度到某個閥值,開始吧扥光有白色變爲紅色,同時把亮度也提升了。

 該指針了,指針這部分就是添加了一個黑色,一個紅色,其中紅色對燈光和高光做了設置。

感覺有點長了,後面精簡一下,錶盤上的刻度和數字,原理和背景一樣,都是導入模型,加材質的原理。

就這樣。雖然大致看懂裏官方的之方式,但是到我這裏,估計就又要費勁了,下一篇,自己搞一次試試看。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章