翻譯|行業(yè)資訊|編輯:鮑佳佳|2021-04-19 10:10:57.307|閱讀 292 次
概述:Qt Quick 3D在Qt 6.1中引入了對(duì)3D粒子的支持。與實(shí)例渲染類似,3D粒子模塊也是Qt 6.1中的技術(shù)預(yù)覽,并且將在Qt 6.2中得到完全支持。在此博客文章中,我們將介紹每個(gè)開發(fā)人員和設(shè)計(jì)師應(yīng)了解的有關(guān)新3D粒子的知識(shí),因此請(qǐng)繼續(xù)閱讀。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt是一個(gè)跨平臺(tái)框架,通常用作圖形工具包,它不僅創(chuàng)建CLI應(yīng)用程序中非常有用。而且它也可以在三種主要的臺(tái)式機(jī)操作系統(tǒng)以及移動(dòng)操作系統(tǒng)(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設(shè)備,Android(Necessitas)和iOS的端口上運(yùn)行。現(xiàn)在我們?yōu)槟闾峁┝嗣赓M(fèi)的試用版。
Qt Quick 3D在Qt 6.1中引入了對(duì)3D粒子的支持。與實(shí)例渲染類似,3D粒子模塊也是Qt 6.1中的技術(shù)預(yù)覽,并且將在Qt 6.2中得到完全支持。在此博客文章中,我們將介紹每個(gè)開發(fā)人員和設(shè)計(jì)師應(yīng)了解的有關(guān)新3D粒子的知識(shí),因此請(qǐng)繼續(xù)閱讀。詳情可點(diǎn)擊觀看視頻。
Qt組件推薦:
用法
如果您熟悉Qt Quick粒子模塊,則也應(yīng)該對(duì)3D粒子感到滿意。 首先,您將在QML文件的開頭使用“ import QtQuick3D.Particles3D”,而不是“ import QtQuick.Particles”。 這是一個(gè)具有單個(gè)邏輯粒子,一個(gè)發(fā)射器和一個(gè)效應(yīng)子的簡單粒子系統(tǒng)的QML代碼:
ParticleSystem3D { SpriteParticle3D { id: starParticle sprite: Texture { source: "images/star.png" } maxAmount: 200 color: "#ffff00" particleScale: 20.0 fadeOutDuration: 500 billboard: true } ParticleEmitter3D { particle: starParticle velocity: VectorDirection3D { direction: Qt.vector3d(100, 200, 0) directionVariation: Qt.vector3d(20, 20, 20) } particleScaleVariation: 0.4 emitRate: 50 lifeSpan: 4000 } Gravity3D { magnitude: 100 } }
當(dāng)您運(yùn)行上面的示例時(shí),您將看到類似以下內(nèi)容:
或者,如果將SpriteParticle3D替換為ModelParticle3D以獲取3D粒子并添加一些顏色和旋轉(zhuǎn)變化,則輸出將如下所示:
因此,讓我們看一下簡單示例的一些方面:
要了解更多信息,請(qǐng)查看和文檔。
性能說明
與所有Qt模塊一樣,性能一直是新3D粒子模塊的關(guān)鍵方面之一。畢竟,我們希望這些粒子可以在臺(tái)式機(jī),移動(dòng)設(shè)備和嵌入式設(shè)備的各種硬件上使用。也就是說,這不僅僅是在屏幕上渲染最大數(shù)量的粒子元素。易于使用的API,對(duì)不同用例的可擴(kuò)展性,渲染質(zhì)量,與其他UI元素的集成等對(duì)我們也很重要。
當(dāng)前,渲染在GPU上運(yùn)行,而粒子系統(tǒng)邏輯在CPU上運(yùn)行。我們正在使用所謂的無狀態(tài)粒子系統(tǒng),如果這看起來很有用,它也可以在GPU上移動(dòng)系統(tǒng)邏輯。初始測量表明,我們?cè)贑PU和GPU之間保持了很好的平衡。我們的無狀態(tài)系統(tǒng)還可以在將來更好地進(jìn)行工具集成,因?yàn)榭梢栽跁r(shí)間軸上對(duì)粒子進(jìn)行動(dòng)畫處理(例如,請(qǐng)參見測試平臺(tái)“ Qt Cube Burst”)。就像已經(jīng)提到的那樣,模型粒子利用實(shí)例渲染來提高性能。不幸的是,這意味著OpenGL ES 2.0還遠(yuǎn)遠(yuǎn)不夠,至少需要OpenGL ES 3.0,Vulkan等。現(xiàn)代后端是必需的,這樣我們才能提高渲染性能。
====================================================
想要了解或購買Qt正版授權(quán)的朋友,歡迎
Qt技術(shù)交流群現(xiàn)已開通,QQ搜索群號(hào)“765444821”或者掃描下方二維碼即可加入
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: