From 8a252099a17db0783cebaaa4bb0fa6024037ea7c Mon Sep 17 00:00:00 2001 From: Mats Honkamaa Date: Thu, 7 Apr 2022 15:09:50 +0300 Subject: [PATCH] Doc: Add info about particle templates and effects - Added info about particle templates - Added info about particle effects - Minor changes to the structure of Particles docs - Update info on how to add a particle system Task-number: QDS-6422 Change-Id: I73cd0ee0c895df290206ab3207e51c95791a2291 Reviewed-by: Leena Miettinen --- .../studio-3d-particles-sprite-template.png | Bin 0 -> 12072 bytes .../images/studio-3d-particles.png | Bin 11906 -> 27722 bytes .../qtdesignstudio-3d-particles.qdoc | 242 ++++++++++++++---- 3 files changed, 190 insertions(+), 52 deletions(-) create mode 100644 doc/qtdesignstudio/images/studio-3d-particles-sprite-template.png diff --git a/doc/qtdesignstudio/images/studio-3d-particles-sprite-template.png b/doc/qtdesignstudio/images/studio-3d-particles-sprite-template.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0ce67de45fbd1b4fb6ef65cfe9cec8b3a17f2e GIT binary patch literal 12072 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 R1p@;EgQu&X%Q~loCICd@eZ&9& literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-3d-particles.png b/doc/qtdesignstudio/images/studio-3d-particles.png index 48f963ede6604eb29d8809ec9d3ce4eed4b6b4e6..14711846f32918351ebd6bd6159f18edcedb28e8 100644 GIT binary patch literal 27722 zcmeAS@N?(olHy`uVBq!ia0y~yV7$%1z@);##K6FC(?raOfgwlG)5S5Q;?|qFo$(^! z*S^pHpK@k~kJ?Phm#wwA4y=L`LRlhN0!3URLt_L2l)E-*Zh6$iy~CxqvvAIZPPL0O zI+J6PuSmq)3<(i1G@SXovey6m+jZ+!#Ra~|v)cdrXWf?Fufo2rj1Jvj{ch*-uKz!U zxwyEvx{{~-cNAW*V8H^1iGcwD0Ran6XlQ6?1f+<7fQAtl7uP9ypNaqfnBTu)sj7W_ z?fRIB({196!gl|7-_;^1$)=jy_1s#_?9b)-$9Ax&pYz}@mOcD?>c)8!jV}c|rEYl> zJO9NN$-sN{52X#u<|JjEn{+kwwf1T8^S$4H|Bg7Em0#^XnenpvjurI}WBX5>dGu-P z>u_;Z?R)j!;jVi*HyhiUYUXWn`gd=>ul)9XpL(9OaQrXK|9tlE=GRM}NNOrxGE_4= z>EYcs^TDro(a)q`nf8bLi9U0p<-q>p-xGTL&n%o4|J^auF{V7}%3>JU?<^R9v?&c!L`mh0EoUMlpDeHV9Q z&X0Yqyq?m3!sfi)y+t=BoF;6viBDm;L^2>B}#vXLj5ujW6H(W9$2O zPmSa2zP?>LU;az%eUqoMfm`d3n8&@`U9NIHdT;Rerft>R&;NV~s{bnQiDxnJFFVzfHDTGO$$qPD-?jemy1u^t&-`9a zJ*#Z>khqGE_tWo(vhq~ zO_BYs&!4s*H$Puj`{?xhx;J%2ou*$lY~keM>bfgZ*^_;3;=230`=|R<#6RcS_trA| z``71p|DXAM?f!;OcOLWK+J5Z+)nB~ri%z_E&D&vcqkf&;$*HStpT*96lb`=_^ zJJv4#{rb~{^2px(UQeymKg_*QD$ZUP=9YbpV`=Ug>rE$*{$6MQ|LL*56mjLQHS6|F z50(3z=kRa&-Tn77=Pi2~{7)$IxASxJ`E#p3CFlOIe&k#7yZ*Lud(^{g*KX{em9t`@ z{L0SUudYU~PaJ;!KhCnTc*XxmubzFnRl>EIOef!aU7QF(S0#Um_gQfxdR}F2e|*jUs26X#L?hQ`e7v2{Ul+enA+);wRo`v?zNbfZ zf3EueY}$_RKC7PG5B^?e7x;8%n|-Etw~-i0jJI`562ejkkXz4%_LS1Vxa zZg%k{Ve=|W{tJt(HPFc4D<4((OR@8O^|H`2sm~U^Q&;b{(bf2LKloeOxA{TR7J0|o zV{PSAy^d8pSvjxdo%i2%&Z#x#YhF3s|Jt@N&`Q~kMn)g`mK!(McUAH0~o{au;;p4znQlOncnd=`?E^P)|DUVNl^;hI8O zmA$f`uT}3e-X2@|@k_VU`tAQz=70Y9_qMKPmh7~1Kev3pcu{BNfhFh7bmDdtoILf* z`T4G0=ksQ%84BN%JTy@%@JaLCzu)!dCO`eXxt*)#W|#eLHS;-d|NhsLL}&@(!=`9;e8z0+R)zwl>)O7j1^^Ui;=snD{#Q2F)JROwjeW_$TKiBIPHBAHL1uW&d^8+dhl_oU1uI|La_h0`ZI^wgg}=|(n%CD}+IFCJ2gub&{knXN3%}a)-Mf4Gx=1hgoI6$dAMR-VUDN;Y z%)Fz#$Ctj}f4^Ag_|*6I`T@2(Z`*veUFfz)eDR-`;#`6|W?WurU!5lZvf}2?!oKAn zb+(=9m$S36DV|gKwb1k4)qjtwlCQ+~zOP>&u%ZLBxB8~C&)x@=s+06xml$}&-=@pOE24&yn7t|zRJ!0=YHK4-{OAkDrVjv6MAg*)BH8@HANSyZ!P>4 z@&C}{Sblr`4>E_}RvxqeXOea%I{AKSpwD`XTmK&2+_~z+ci)!_0w&&{d+EpJ2darX zp3d#qB|ks@zQj*)=hENqpVr+zU!T)ad7sO5+ar&wX`2t-4%;8Fxg@9H+$Eo*zi+L3 znS1}wV}7>%(SjeY8GuT?uD>FYe|H?5Gk1Db{GUtzADlaHf4}y||4;S*-fA>Dlzy9m+FG&Z-j5IJ z>;I=tU^=W{|Ns4a{ds?utUCLl_V|yD(psN>cUtG$|E~+(a6wewy72AN_&oE~)xsP1 zTOKQYcX8gq?$_%3vm+;-mDNl))BZdCn!l8G+>b?%9e&;a|0V3gs^aGVe@h=+ygR>s z-{s5SPj~x;W}b+@x>M%xB}fIHqGtL3L-(9{mgVoxWKKSup8N0L%m4c_>|<;iy${P; zpHsIu@%XQy^Suvi_wQ=;nQLiY9rkHTL!r&~&*$sE^YDH9BOU+!*dALw1tUviYjtg1 zyCai#Hn3g2HUu_iOJQ?(b2I`%~kHX5+eh{0}h9Yj0_B2JPZ&bAccW}0Yo$?F*7iL2@y#K z1_ltZ-~p!h>cGl6o%fuIBnJ*iFi)kDL(VU zcbC4tmTP17%=Ls$j;qg%=&hBxX&ctfQZd=RD>HT0e~b51f>LYimdw#D|JZkGWscpa zo6qOV-rb)0vZPgi?cEj8uV)9{+p@GMOyGO;riLGjc3oSXn=7x$y?D`pXKY`( zuqw3Bt!2JTNx&{H-`VEtG<~>Ao`$iehL~M_)+TxF&aEpETUC^g+&!{UeMwaA{(|jN ztBRe@uC3au+BQw+wDwBlqH8Mug1cWu_5JZK{j*qh^`)kk^mws(;rmx=crCMyx8szT zxnrj95Z@U6NOFHg^4UKpi|$k~^vqH6ZWfc-Y5n8Hp@+XVEnPa*+V7rJMM+lb6rWYW zOBaXl(v!{1%DS~_Y2We_YTFit9!y;>U$<4I<95Bv)u-?Li)xQorq*BioSeI4iddD} zwRvyf?*DnT?^LRH_?p{wYu4&r^xs^@wYIc3qIB8!bM3{<6>eHw<+W>KjO>@Ma4UWP z@+SYG)K_~;?*`@OXWiQOd%>$ie-Fm*-oIkTqf@tC!V_=LQ(j*8?)~lv`>Vd2ZI=AG zGM8QUxw(tSQPbIFau$Vq^B-g-FIv7ax&Qpeoc(FK_1ov0=U?T_=-3&$e*2LNLZP2` zRWYBQ%-vV^HP(99$~7r3R~M)tbH)I_K9P9_Acw6&4RD@?JwQ)^TuE4Q!CfG zW&IMBsjpeB>6rKA#@Y?>Yfjj3AD0Y!w!Z4D>Mhv(=~h zU8&*IyY=(ote&1(+_F}#W-&rhb_G5%Io`hNaPLqEH%4{z;l-mISTW@lmTaUS!!vl?43c{-i) z`#vvTSj}+piL^K7Ay0ZQu3IJ&xxwqYVr0yr`=@rOvQ6_&eqATA=X2o26mw_qJ)8Oe zfBEUeTL19LDek#ee@!=~9NIKFJUYGd!8hguvsSRGpSpI!F!RooSK4=vf39Wa-kT=B zqk6HXXIjw2vw5kG6H_N%4X^4G{~_5Gl74(|U$y%)_T3U2gT;bt_kF+l`Q2t~Zy^z( zi4Qg{D2vK=ch6om+hPBd%!d;DG7c6VAxd1rLd=e6q&N8XF! zd3bN;;dZ{-Ur(p5>&ssyWD|2nV^ikuUX4%P%WY%l&YgSLR@}^Q>g;G&?_Kiuch$U9 zntD2Zt$%^(K9>zswKpHRezZxczjz}1^EdnM{Ez;>Rax}%pC4ym3x$^dESkGddb86+ z)sNBZV($p_-R5V|ete?x=g*d@yE)eH`tqU0qoB6fZeRUUv#_LF?q=Jks=6-Qarm&l z7^_6!mTdO&c`x5u%o5iz-4guh-Q(pm1T2g1ipS2CzpOL4QK|ZQ-LDtVbwB=j@u4~X zm)y6K@@@0&qvi_w=xsQ^rq;aPX3we(3k>wvm;CRY_xLB{tyy=??bodfsw;YW@a^H9 zjcO%lH~n?1d2;rppy0${B_-wNJu1(_R_5;5W?X;m&CSTo>F2w6CrQRD-SEn~BNUu| z*48BZ@yd7c)&C+T&gf2A{$}4l-^dN81w<-iGM?^~zAc=x<1d3m<4oJ{Gud}l^*{gl zS*$AU&EEUP2B(kvTsd?n?4N6H|GG8(7cwW?6yAPYz5DVV%d?+m)Na`Q{YH)b;)Pcm zX70|n`@2x{=B=4T>FVOsS0`F&PV`x4^S$NKy`aWRtWV^tFH~CGzJKS;yv*O`$Er>|%_|Bw zUm0>;b%pK~UBRzne?r5wHzjBatLd?dLzHF3*3n z(4g;Y*PEH8FP=^JW-k2AXb|-C#J$d`^Y2&w`{WuQ|G#_s|L^tw`&RpYEWcPCz1(`A z!Iy1ka#i``>)w?8Px$}%-toWZ<>%g?bdZ&O-8F;GkMrV6AHDm0KaTH;KxD ztlE5h$5uN@>%1@be;I@??9OKsk$o*$^KHZ8)#VHRpG$ulnD=V0?7N?DryqQNo}Hb2 z{=MJl|81&>UwMQ7?Y>pvCMTD4<;%}o-SfmXP+jl$uIEXmJuUe&x=m7kUhmJ_o>Cz# zvs?A|)^96xtIA3*hjgAh)Y#bg{5<=+H?!X!-0Zu@OZN1$oCk|;KT>ro%gE@A$=SK+ zN5%Qm_v86&-d6uRec-Qf_9L50+w3R5xUbJzwv+SA_uqZWO0L)R3;plb{hWREp&lsZ zUQGX{^6sDGHbcAJ(&v(k=w-Qf=h6|NSz)mFrG5!;N>ESu1D%KQduLK)wIV z6Zx!fdP|B{zWUQx$#vRP^2;3|pvT>Ec3T<%VY;}nlS=uaG zv0}%%b$Q?4-TiHv>KzFVm0CH1$~|9Fnb4W8MF#yMqXu6*3HV}gUdeIw)dZ(OjT zVV03y-K#4tEo;_TYKO1O%FVsIH9P#;97~~*% zU97Z~W{>Wdub=&APxOnG|NZLaOH+OG?Ms(#UAFAl@$2W`@iKyJYCC&wE@>6+EY)hjoyB1Z(*WwPTScHH#tRTvWZ_=V{$4X zKC{4auT1UT_1dD^;g_7&Y1;1HBP}KM>ecJiqMduA7@>{|m?+xlDDvXu$(hIZ{rbrs z;IU#!O6UCf|L56ON1Q%)=FE}+!CGIhS?5- zty6RAY-uT}%#MR>QpKA$ue`iCL$EZPTU>8ZnBS~+t2%-(cGPR-7mb zH|KhH#=}27{`9F++jDQby*<5lu7uF3{@($QgR-lB|G1QHUe5n(&P>bG$By$uZJqzu z?XbYBQ_EDP3LCrWoT`R zGB7ke8PZ~>n|tip+1aaCtzv3!l2LJj8tgaw@3uW#rc~MI%gZ0u5v!7FpLafyH#TzT zwL+u(1W4R_&KLOjEaeYgu`BSLu~~Yl;^e2(*5VteAJr>X5WE)B&04-!i;HzJ%FcJ7Th9!L=v)C3CjF zItVePSZmX-vzK>%URn4vf1cRGj{MVYP-mT~Q&wwj?cKHi91}E#SDxtEaPr|70js~P z&RNGVeiG+_#|YM*(v2>q(A`GUYWu>rZ5Q2p@?Mhk?f947t7ep)cq;=cAGU?0%+*^x zGb($6UjNuO`P?M&HIXlZ?p&)&*#FNszNxY+W=YWd33X0O zv#!7K-H;CIhINR{6wjzwDjKltqRqxSS?!k&3Q_vf7vy4+^@1xl2sX#Gf?Fj$0m(a;dxQphd63WkP~y4WJDNWHl2JYT zTB0lG#mS}g`*4wAOpWZ&NX6v%-Rqkckz}>x@TUo-@cXCIq z&RAF$b?1f6?js-hTyEU@Hut9dy(O%7?`@fs{>7!kZ`#_6b4qrX9Ckau+k=s%H@Tp; zujyH-gsa)5>`W;S`zZ-)HAC3{*)I6GYLox<+yy6mp0zCdl)HIyzm7!vs@4XkrZw}E z#h1R&=}_+JD^mFNaQVMU8?K-E_d!kf#W%HG;wo9-sO8 zm88E;{Q6iq*=TwE>GuY=-%ebqwZ`|#{7 z3w9Tk_^sF|{Ly`$p|QpLBvykxlXw@4)i*qoJ!r9MVgDNG@;yeEoIf?QmF*5IVOKH< z&6usMvFTU##B=V?;#(h8mbF_86nEvkmd>o0EViY3v7LV{r{p{ijZLodH#aH$XPi|& zqewUD%RScf$3s7xHx4?!aaV`zAv|@1kI!9xo0(M)J1Ug}QWy@%`%jcL&1ZpE(jZOX z5fCr|QjB*P#Gp&0vZ%r(Ft9K-_U^m8yT50jnzn4&r>?FkS4_gq%OSNgV*$KQ-X2-| z_gGUC)2_3R9xwOv^*C{A*5;z8tFB$U7Q4GF_3TXLiKk?iTP7IiupPK5a?@4m>|Fc# z@3wEvzTW1?mCRlH_s`|DC6l9%?5nD(I(zzTZf54%l`B7f{JOc?`9RtYo`zzrB2Ukg z`)Yq18Ko6@@7YsZ_U_I}w`H0uSKj%w;K4_)rA4o=tu5RC5o`gdI-XZ@`Xa}a+NF)^ zl@4D@_pb|C6XVIf^Y)p`r*|)0xNzORIJN1wSBpZGM+!=~I3AcYr}E9}`SlE~+}>W( ze*FCT{^sWPyQRj)#+p4I@slSl+nm+tcu-eY*JQ?4Z(*pbK7D$+w70i6XyzPC3$Lfo z+S=Tt>NYvPxbr5bs6%6thu--^t=%v9d|-9)J7<1>{oCe@Ic;YdEEX!Aj=ih#!CcvP zZmq7i_WfH)~|ip510saf4?zV}YM*US3{WxyVoJlFb)a6#xD8H7E4r zq1Hva`#$}@sa0i?@c!Q3H^oUoLTfiYJqT)O9gugL_|k9nx^>%Xt}k73$!Axy1}oT? z=~tSbCB8^y6?0!^v@_c$XHIj^vP4iauuT8PB*L|8w~+8;pR@OtEIoT;Pi1jvXlO#f zgyu8%z~Os2ZNIL*uIl*{w~rq;INUk!%A)k`H+&;N_3x%l;JAa-zILnvB08(w_>&43 zU*VNrCHvweE7%uOu6zM3mvVT%FVU&AHEDM?e&#)0Z?S~Z-q+e%R%z$%?0h2p^tt#1 zZ5PYsBA#2`Pu{da(v11Rmco=-Ef4qmw$1CFJ8#aOyt`JrzR!5IH4pPQLj(Bh~u*%?ws%XoY*@ha6~-(H?TcvDT~QOpF%E*^#kCI06A zKexKp+-3odqh8ZA`kXj(QkLoWsRn&I6T*EpZYIe@uKx5ZrRU+4w7F-Uj8&c)xk(tF zDsyz1-4|l3upz$d#EC8ZYgiBb{4{Z^-6m!^EqyH`6Yk_Gxo`LQX4t>g%I$FLc^Hu3 z!k1#=Ir~P`Y!g9-`V!Y?HUaH>@0WC~;jKLW;?UJyFI}2N1m`Jfdrp~|?khKcRp83N zlx>}P_PMTZ!Cr1p99VjFw$1$P8F`Is`vlfs-M4S$&Mwi|5O%?(sYmMK%Y@u>`?6ju zeq?i)IG3|-iL1o=3&-P*Xe!N7I$mVuH-B+u*P6dM$?O5eI#JxMX0MYqXUTa~E6ka_ ze&c;T-Syf2vBEP?ta!+iHc{!T$@*pgCb*k1I82m{nRvB)-@Vk!Z2MR*7A)S}?Q^su z>P&b_V#l3j&P9tSulTh@T*%bO?eqF$30rdy{X4wu#i7VsYDOnk2+reM_xyn$%d=`m zk(->Nk>+*Jw|G8Lo*k0%H6*2a_ciIK+D7~Pa+{azvTMuVe8T8amEd*N!ee0RrW-=ENAZGS#Y9$jSK?=LqVRa*i(iJC6(6C?Tgm0 z6*#kMb+C9>%$teK3=9l@a_(l+m=}a*y<1%n7As@U!oZ;M$>RwFhtRw)o_=m=SKrP6 zE1R3Gc*-8*S;Yhn0tMWryiGji3(9aWL%i~_iXE87^ zXl(i`5;=KFSNM4bh65+a=!Z5qYkZmyTDK996Zb%wnSo)E81@1G-I|-SJ&twhviGmP z)wk`+lcPVpG8U$M+H-4d^!B{R8x8fH(h{|k4&7OGHru$l^s36jn^%3cFaJ4SxqOP& z>(9zhb9Q!@hxny_o_OBw|C<;4e7%=z*JQqRyBl?X%BN+zQ#Uv5xIc;Yi1^j5a=F>R zJt8HZE{$7sZ}zc0y1Z9ccNr`FQCZY{DKz8Ooi{Yh2yiIqz7Xt=;iWe`js|bGPo^o=|l?#XW~lTHm@_{`SSPO_P?c zmg1L>G}c}B&Fg*nYA4lMTOUuK^JZs^tgd+Y>N7L*uV`IdUy&-m>-Ub|pSHcs+jC7~ z{~wp{pYL5>`peHR>ybqJF7w52-=toU(qrq*U&{DsTi5gQy^~IC{lD+lq<6ZK&+TeY z_wNmlI$b1|6HsdNqvj$Dd~(5v@y(JGpPxOIGu7b!^hxK9>VgmPdu``GV=eTXP#tu6 z>%Pq;x|`Pvhs}9u6}f0bopyKEo2fg$|9iYXti?OFh3VGkgiT%(K6rKd%>h+@sa{O4x^UcApk(HoZGHW>rV&{rgt;YTo?g zeHs$3Z2Fh0&wk(4DGKIAZ^CZqho#JGt*H@{sjk?oI7?sbU*&PRd-rEQv^{s!xb*kd zZ~U8Ud%}!UMgNEI*~EYU=fmIGvd6^={I=Wd`*(={|IRywRjw0G7rZ~4VJ#h=lH8kr zk|DVFK+M-Q&e#2P=B}9b?1k_3>b^4{!}RBG`DHJA{Bv!r)9Lef?#zG5JCmX8^F;KC ziAU%Y6Yn;%+voO8=hnTr=59<(`MT$ij=AUuzuOaCar310{WTmDU**OAwUyuU=E`OH zEG1PX$15QP=WpD;y0?DWaf_c<+Oog%otrmdR*Jke{h1+&FLQgYXQ` z=dEw0{mbgMYqe}`EC06e_Vexe|90KBa+SMvuV>rlKv%O{Kc?{*T;(`3>9Bq6zJP^4 z-^{#N^!wbyCIkQZKend7o2$pK9G?iC*>KQokX#ilRqIPu%X0m5T7Q%M z-MtL2Ni#!IHb+MWq(r8CojUI^Yn>ij*R`94>mT2n`17Ei+nXszL*~D){kG@#n{$&` zT3u9FbXLs0cI)EBS+CRtTvDSdQgV)MV!r+>|Gnq;NjsLl*;l(=^=j;+X?JQ?zb=?& zE*`g|{Mm{-}SHemn}(}HUC@1-)Hh~ zcYZz_etq5BQ(sJi&vt|!iockVk^1J$wcGZ&o+XQ|6t(^C2kFk+_DB1*NM%R0@wIbq zqBkoZN1GgQQC`9B7Far6|N6^c3EL;I?$)=hH2m?%_4vuJm;YX|*X_Jt^!8C(fd=b_ zd>Ko9`}rG+#2v}Wy_shlew;%bu_%MIn%jz4K@7}EYmr?3w zP&wCb^S8TyK7LqrsOiw2J(vEPSM@z-&&V#j|7XW8ub(HUvTx^q&NfT-;_S`$JNoxn z+A1j(dAX#dOqlNYcz1hRuFciI+2`%Kn+sKL`LmxVs^{#htA6iupY!zEuM^w1nJd4|37P0?vd@*-$An4I|7Pvq*_#s9-Z8)b z>Ss=3$L#Lz@<+!$&yClU_CM{ceg5u^c?!)z4Hu0!Kezkr5dQw7P5nKm^F4dNSM#O) zoY5IIB0&wf#|L;hB^LoclRllr-vp&AqW^gV*RBtlN^qPx5 z-?oLy-`~4no+r1?&r4q5T)~#k^F4XhM_s9eMS>iWkNRHUUpsHbPOV4M>w?|i9<6zP zGE`i?Hc&>Pkn?`Q$5|J@u^dP&)?Fefx?H}jZlBh<=(l%w>~Pnyx%2PC?o%E!kK8#k zZ|7R4@Hv$=n^jN8uaYc(UVG`{--%Tnr|#x#T48$M_T9ftMhC+m`+MGL7Fyo=YvW8? zvyox z&QEuQyQ;lewFD;Azj1v2FsHsaEA`gD-i>laJ7?dy>Z^6tbLuUpyFznS88=VY;rM=$ z$I<3dw*HrSv7(QXTqgR48VglC{oi$Mb?EVlMrD5sw*T(ST6k-HNW|I`&bMbfTEG5& zIGcAer087W`BTHXHkrTG@rru+$CK*c`BQ#glq{Sd^fUJU+P9tSgwC&VHs2p3#j%uO zv5x#r>y4j2Tc3~L_u}>I`j4Of|9gM3e5>ZaJu9BR?9=BFx%npS(}$#jbWcfU@u=3h-g!H1W7|G&}i{%$JJ`fhdA(g{AR zetdhl^OQ%NLeZm5>#Oy`j(hxQ+v(vvt^V(eGViwS2RBAC&x5xahbFA@(Crdb8>o)K0ycM}aJ~sQw8k4I(rtxr?UgVJ4u2A&1HQV>{ z9TUmdle_rt%ls&P;CcVSgT<7FRgS3_Y|g{W7sEmCbO+v9it}uDNL`Z z{Qt*;jdn$ybyqYea>uydGAsDg!jNw+et2t8czF0uh0j;csyAp=pZr=~Tv}dSuKw8P zPSK+Ii`Tz1ddP6CmCsj8^!k(&DS5kQH6?G)*}r;W9J^ve&>5f=W)-LwwcGaXEb!WT@cu_ zw6KP_VI|P8F4z=? z<-t!*J`{9yJz82?y1V@Sz4e;Wvu2&r)(Q%`{6asesJcR#w(4Q$BtSUaqE+l6p3BXHjT&_Um=AyEi>MGtncp@3IVd(EY}noGzdG6x;HD zHCdNY$C!ezAICAqG&^xK_E9Ezv{9z~80Zv&lk2jBtftz%MmNHxVgmHtKj{`&9R+S+#gs+t*-w?3=^GU%=zlH!^mz*<#Q^lan$x_^u!LRy-UkDfo@pMGBM z+9uFIQ-}-7KvTj-$Uqa=X^5ew(j+g)P*c)|#$$KhSzIlDqrcb%Iw*~$#%2sb{`SjTC%8o0u z?%D18a`WunX1nyXbDKVX1P$rTPTc%Ceg8#+mR*}NJ3HTKo0^;d($LpWmu$Uq?e_Nk z^QX_JmuCE&b;`?n8)&F!gQS^tr_%AGM=xJ_zAg8*@UoTB#h~FP&r?Ngn#HL|!%c^U zQHPsAlY5W>r?qaiQl=WcI@i|6pAQq&kI~4AJoPbcwZ`9S^zo+IiJ#@2CayGHy?V9o z_8c#*v(v0jTxEbxWk_ya5MgaQA+PX@;^f`OjvTW*(ZLCtmg1Q`w>VATVc`NXA0Hnh z(S`orvo}_Lezt1WssjrY*gG#keGM6QT6*t1XxOQ{b>6Xs&x<3R!^75<&N(9ujr&XL zE;f6&%)IA#a8cHm4ZP+;H#aQ2)wt<0bj~DG#L_{~L$Lf^rpK$B8h-wp7lB5eEClzS z*My8bU3vfXxp+Xidu6ML?xy#bCqUEfmckUSEuZg8IGwli^Y@F}o+rCi|MeXW9+!tT zV)K@7?fY;{0P28SGi_%HiS7;UH#OwdTVeW>TlV?dDyS)Qy4KWvE_qjz74vWQa#xE- zw>LqZrMdZjhi78q;&)o_0V zMJ=Ol-door`)bwog&tSKT0XNdG$_qpvSaPuy?>{!%8<~}$O{&Ap2*1Xpj33Hhija{ z&qGmbm#o(c{jIGf)te?IwKykO>vl%uZlhfuU%R5E7hkz@MW?(oH|M#X_m-_&oYu!) zUDl+;%&_3ZGDX(Bo{JgU#rd9Irju4(&6ulXtZo(cxBjC=p056mg+Et)o@lC-ukn3L zKFDcZIacRBbZJK|pCKH)Pigx{@mKaQ%%5u)Z8=wZt>VnasEh7bm>3vbw@GXg__5PD z@JYtfF3+_K`*Y4TxApTdG$=*$L~dBGQ(&kfA1SVT?dOSE6^8c9&ip*L-c6;?=FCck zGDm^#?YmX~aK>3>?>T+=RAtmZr;7`DGh0$Ne%cVNy(^>g+$oNEC9l)2^u|0_yX{^t zGV8AR?As4N^hdgy@B4gj+X?q=O5QD}zigQD$#BV^2@|h7Uc24t^to)qOr6ZL$HwDu~4LtS@{&CaNtE1bKqHc2`(tmMPtbtjx}FWj4NtMSP|d4|~& zBU`>V&x7o?R4T7hVzv)?edn|G>)qwCHgj{cwOz0Eh4Z*6E^^M$7J9OUXS=FOanANH z+N<1hL%ePnvCTAY+9Q?RrDJ6hSnHVA|25O{aGvhk2iz?u44muZPfp8_Elw<&c(v;c z+cGxm>wms%&)uUPnXu=f(8u?$L~dTuJs{7>|5{fw%h^%8@Yss_>podxB9$dd=Y$Nu zOf0Qbe$=t;fZ@gSZl69o^K6&>$hby><^0jsEi3hF*b9!-q~uA3eV+Mu#fsD;o0$&n zk$N1+{coY?LE$zqD zUbAI}u4bj&JsnE3Go05=ZTYDEcx7b3lR)WB0;!!6!6|n+#h$cqEPB4{)UVb>6}#5f zq-=ES$am6nv)|OE6Jq{#|DtJvspmRAW%c|z@yFSC&H4G;C7hzpZHQj|{$;%6%tvBN zMPHhS%;)}?*KSj(aBt_oT~9SPJ=kShW#LwvlDz!@ht{SIyg%2bEb;7Jn&vpsz3{}L z3bQSZO5H_HEyCPtwJFt_MZ3$E2c9zaf}w$ah%FaQndKsI4e3S-gzF zA^U>YIbru>b2J$kEUui9d*;K)a3HZr*C3sXf#F+d%9)u=3=NB)DIfmH$^fqS!3_s6 zL1OD6XZeZAhn2g!x?aC}Rrdbg-uU2cCZ7sf~M`KL*U`6ta!XU_O=8D74=WXa1l zQ3(MB-rn4-Rs|4k$v;0`I(E!$rO&xJ@k@(}ot>3i)gl^_^2*FCPm83gl~+7G;60n`{cgwz;NCwd4?TW8jb`BZI@lc1f=I z3EVcih7)U5XFgjb_Vnpf9pRZKRlmQzt^E0O4WDj&aAapN6GMa2e$B$dk5h~`f@hqv zMCX}So2iCxh)F(Gaa&)fTTDMKT2xFdFrvA3o~?DZd$F+}Cj&#*pJgWI=Ehr9<7c$Y zP!f85eSP}sE^$2(O(R?BLtz(_m8-wMOPwz~c~XWbSh>xaE+4I!*x202iNQgdrpCa%HB@zm@YGg7kB^pTf&7;I)|U{Hpv@Ys_E zTH*1=ysE2z-s@zh*vOq?H}e@74DwRIt2^uzg~0PmFAD{Gc%`pAOtVpBVqiGD<^*Gx z!>pB$=Pgp}pYiOw#_Xh*mr_OImwi9r>U#XlOzY`?p8om6R5V#re&(Vx6C0W{s zEEyOY9)6g(c)Owwxu+hviS1TcTDMeJ>Fm`NW!1?&c3FaJ zKQA}cE7j3g;RR);g{_mWDn3zqJ4dcoCyjgNvm!gA_=&u=DUK!}cQz>PFVmRGZImH8 zP1oeDa<^fOtN1H+CO?@&jEKf1_l>h2K3oI za0HYEr(B=VBO1*o7rs?Ccjd|Mk5ex=oqSTcHF|sA-DAngaV=*Kg&k?x89MuV8r$nt zo=%%r&kkGmv;VW7X6Uu&?x$`RiN9Yl=hQRh`L+LUUaXxx%`g1NrCYtbw(iq>>Km<< z&RV!%mAgZKRkrP|Yu_erGC1YE*JZDHZ)LR9s&LVCmmi)k>`PZ)*i!j;)}bX1;d!9} zZmGe!c{38vuJ!E=^)_<4<116`wCd_N?()?Ot<17>$P5aX4j>muU3I-LPT{f59FXp}Uj$1QcWWKraxLD`* z`pDDw-#$MZUD_pMmHnJ~%S{!d*`}MqK$?E5K)@@=fem;F|yvTd==Z9A>5BHt)XdB}JwJw|dxOaig zn-uiVABtn*`hWHI=ghbX-FcnR`GEJEh@TJGNz{D6oKpnn16s~ECG)R0cZt5>vYP+G zQT5jswhDWzXW6lfzx`9->*jX0m2a)m?&WW@_V2VkI(hr^3!jY5zo%C{-o|*q&2E#& z6y4K?l|j(G1`|3jbiJ4RpI$mc(iOalT`jTd!{uicJ1+>Gy><3z>GLYRJfAN{PtWac zoj!NZ=d)b`EB!Wn;gTSJME{mLmJ$6T?P9_REi_1o$pk|Nh`VUq9r7 z`TUs5g_AWm>14Y9_V@Kv3{HRkY?*5YvzPF+xqEI|on|iQV=(KEDp-`$D>IqJXXU<2 zwKn&|H(bd6*0|ez)}$0Q(VK6=#6%*+B5RjEuV|d#-MFZMZTCBr_E+4xeD&tdn|F&7ABTL} z{q&&aZvF57uhqZxIBH@)-Q3z?`ifnrr@#Kfq#KfQ^wH$l>-w>KOaF0S-M)REt@VDz zIKRKXf2L)No3}hZ$9P~`;gdaoY7U)>Z3&O9s&G=-vCmTe{{A3oZNs<9vu~f8q;z@1 zpNHbzOg$R6wl-Uz|57G%mV27iEzQF3AA@~5=Ingez3yCp=BHB*8}=02*M9jtt)i~v z$3gvC{_0)Ux6jM3J;$LYek1+bzS;J2aiI|bGp2{{`tNrB;~$3Hv+rihhlgw0@BH-O z+rv8!fBU6EQ!am#{y5Qmxx0&tUuQ=T&!$vQd++Ub zns^9&_&WD$(dTy;nOZGf&9e6=%2)kjT{P$n%u1)CMzwpTCM;pBNRh8_t3R>EzVs^8)TfYfU)U@F$tyia-7L?AbSsbN?TU;NN-2_uVVCsjqgiY;C;-8}{z8fem|q zQe(H+_vTBltw^KcsuPbzj^^5io2gbzIMS~3d((5Tvmz^x7{9)7R)0F%qjQW07Ji<% zS6JJA|K~qXyZ7z;C$9hh{r`D2;jBgKky#e}=WboMbjW-H-C-c|^LL-}tvBX3k38~!&u90(_QR9N?<=={oKo^| z-mbr&%vT?d1tsGj=ihkV`P+P~|NGYu{;TXhzu2z+e9BC&XMSF>PmNwq*j_Yo_wRmw zzAqDBFQ2zWXy>uYC%MuVbxsZ2XLmo0TDf}l>N)>?T8^NPOMCRZc>ZGbZXb(;@`cWm zy^fly8qJ)&ZrOtyy0_oIdUozY&bqA=7XDPM5;}6&JY&zHdrU7xN43nopPv^IMCyZig+ z^QGV2wd%ng`)sTQjsx;Q%TOIOjQFHfF5dsg|mXt|oolCvJ_R~53dvahd= ze*W&^OAfK1`wpAD-GYKA%S@lPPGPBX*qVrq$;bJkJXW7bYtOoR!87rUSzzSuJlT`S zSM2t9A(E1ECMPFniSvz}#p)~PZSU`YJY)N!H9hxFcu&_WzA^2~mrs5D^JmSE56B95 zc7Fc)iD~j0pQKM3YO9>$ye#CNEZsZbz_94ll&`O^Yfqg$T_-jwE^c4;^>v_yov%Hn zynUp3xqn)C$OgZ@IbK0=Sr1>mdew14bBmUShJ~7%nU$JZ#UGYmR;gYgzP`Gl3i_T} zldYX5|N8Ok?S(J$Zl_;emG9Zr-4bJYG0?=+)Urckvb#^Y{C%^cX|lOGPHt{)ekV_! z)ZDu0$+Kt2jvTA1s&bqdAKW){w%a8$ui2fy-hTPQ<5%NLF>oQ#EIDZyJCT#~a?h`YiVG)aZ16X7&s*lBC!T3id1}kFq*G>Q7Ah)JiYs>%2*|QV zI(ff(^(y0sjG3j4PL9#hh!cg&TCWsOIOsDa`0}MUw;!aues_2GS?y1oo}PBU7#k80 zk?}=Cqb5;*a?RgAFPBW_Eit|nJ}dTtwA*8wC<$@#^Xqt5<>*^qzML*1A~t1T-og*w zb&dx=Jw3hP#JR_^)2HYtDxZvepx@Kixp2mUpp{DujxIXdoq4I#?dFxqpOZyIMMX7N zW}1X1B{yqpU+?-Ot9B|fvN$a*ZPId|`0lQ5Pqi1*l$%%HUSRBGE?0R>Ed~Y>_l!cA9s%=ggTiik`-yaa%G9OTV^7`8Fz9cgh%>H;VdA@if|IVj6g*8nghj z;?mD$ilIqKLY=ohT?+D>GF>;?Z~CO(_f}lI()Yg2(YX9!?ZSnP`@4P#?fUC6<)!gg zjVEs|vm4z$C_2-owtbi1iuv6gJ!j6Hi`-LDn3bi)eL;HHQW3`I@~mH9lo@Vaw{PBA z?Fj;(!!JHnoMpO{D@Vk2_Jy`@K`DKblE!IgPw8lAnW!FdJ?h%(>Y9Ch?OIVWjZK0p zPRqs?`Iw9DJXq6g8MsV=Aye|~3|H6VEg6qurbsyWX>=OZra9+#-3a=|`cr({7EAN; zeSw^pt4|d_>j+yLxw&oH|HrAJnK26EI;%^>z?99y2(9k9Q zCP`bDp4Ex42??BMkf?Ol=TiHE2OqDT4QQLAo4YPz=Oj1jKawi5J{he)q4O&<-rX+q zSIMNKE6Qm6Uj|v$3&B@=6A$-fA)X zvZ3-@lcwu6@8VxQlT=l=P6IjalHUKmTZU3b+CDFvG?txlG?)JA^&}_ANQU?Oi}+c) z1S>t2duJ{&G+yMxsi-60P$Z$@KeNqf+m@L(H>_OPIO+2aMmy8FD;GxuM`nIso^NDi z^z6(`=XEnh8P7U#W$4B12w0srF}O=yZ^?@ZwP)s8PL`UGCiR0`vvE3GaciqK7AvooAr#^2S|x2%VIx5g&3&ZL`0(;oWUx@_Kful3VDTN#D(Cb7XD z(><4*I2gYvrPHIsvq^J7WMpLIVoftSt(i?vLwx-Go~2)wzO|l@Nkrs=3Rifq*+Sl2 z`E#4xCQjFn=W~@aG7)%|rxhrkdsbPZtg^yICvqg)NraAbUU9NSNdZFO2w}jifZCOfs zdaz70o8%PRFl8OSMJL{vEqUI*Q*~Cu)NB8C7H|Ii`Lm|m`J80}GXE#0emkHpa??{} z=KNpA_5Yd_Pa6L8DyuwmYtfcYmzj?iitM(^+mB3|^(v$3G6)tkH zuU&9$*&p@Y+l@639hnf2=XB;`oY17aMHh79dpAB(=sJ_&R%@ZFbC&_fX962_9{m)5rCm(*wc`-yT_J~Su*%W>+?%VmX54WpZ zy6epHsl2wW-s4D5>lE|1Gx8m!mUiXLV6jzk-B!zFDpI*bWai%FR#C5I8`IvLoSqz( z^Jfd|-sOj+G8c#Y7p{}B z_OK#7G{r3bl>dqiK@(rzS`b>2>o9Sy%S2bNM8oYD1Nt=YWImpwUKMiPEAz3-&A5KE z!hojZ{}zh)O+_OZpr{8Q@}gwJ!Dc;CXZXzmM<=#?jKoigJ;?l{riYoaFq z!Ba9u>=Tof>av=?UOLvf>F@lkhrI4>DyK>~rf58xv3cT~)|4stb*t(*L@GTt?2MW9 z;ez#kqn|%M3O{=M*wS^`7vE3wHTWmBc}-FA3s#;I=k_gl-LA(ricGF@Y%cE;OjS?u zDII^aQtaaFOKzOZUba%<#|gisC#JaFN|^A_`yqFo&&;L`)-uk0rTp7`)qe5NF(14WZfhpHqrTwN)yzU&%x%5b9 zTvS@Q<+W#9IOpd|iZ1f;ujrl^S)LMj?|)S5y;?`hE8o2Q<@R>@?9_f^EBZx@Tdj68Pv(2@%taNqHE>fCo?Y~~8XobD0i(sOdgvwT<&qmBuS}s!1occ%l11Omu593r){!c zq_la)riU)_;V+^#c0W$mTs9}CZc#s5GvANpOedGLv2ouNH#zM0eqzBB_5HeHRmodr zrDs+dxh5p|`0&_H@Tqsuwy`<%@vl*psL@{5&i^mOY(JdbYuRvX^3ShVRtDrd*XLYu z{Kuv|(>C$Zksm8RwsrZ$dV6`T+TOqZGv~(+ZKLTz?sbx>*%wnCYfWuU*Z-@YdwH_# zlRMH*+a;GCxp=$aMeO4o2lsG;oBsJ>D*A^L^PPftW*IFlN&aqI$qzOrCoV>Xu$)~%Hw=ruW#!0+`Kz#mhdt$QPGQv z7H(Rm>-N?60w&&`vhj;z)XJN>B9aah86}!POaD#(t?|xLKDlv{ zrcrI$KE2Niw#MHMiMps0^zoWhaLT2!uXSBL*Ym?y-tv7f!=PdG*&qr@b|jX;mMMD+l`ha3;HhZzqEKmeO~jnh?REA)gm^Gsoz|> zADy^Wyf(KWcE$8=BWaE;{}_HMrWO7zJJ{bD_!KQFn^f-cbF>q(w9H z%2tb3&d@bCebAuPJ*&rj$KyZU%)c$&ovrt;(K7mAvi0(XKc^PW%*(r-c-_eC>blJV zFK%`0QJH-C#jl&v4;iIy9_G;86zYC3KW=gG|HGH|i2c#|csA|Ns(|MPbeD_%>5iYWBWVWzx)kp%eLGpR z=ekYYdGl4-M(bt27tD?qyFb54&o4SsE zU4CMHMdJyWV$}r|`xUoB{;*Hnx%k0aC%+T3 zpSN(d>$53`A2e0o5#76N;*A4E;=*%xU32=_xaZO9^BJf0|I9b%irn#GPt@M|D}Eoy z-Vxq(v#f4I=nhf)Ri-^%Yra40*3Fc>f7^70^*qn^r#ANCHJq8M z5l@s?hqPVHdL3Llp`YhKfDJ=*#WLmj6ByjiFiTv0%kRp@*LUpr#z?6-XN80qL?pX- z4!r((;_&~uyO^Y8?-fw2Q)8~ zc+B46;-yQw=7$GezI5ST!^3CqHs;*ibnRN$E)TD1Ium#ATIkz0eZhhUckcWQ4Gpy} zf0tseP`hCLmI+~&3l8cDWtRAyS#-4f_3PI!4<(r8-`!RE_0?5lW8=MhY8RZyKlSG) zw}s`p)vFham49%XDI*sc65_M$-MziDXYO6Pa^;>yN~)%3ub#cjxc-mo`;?ekQ6NrlO{5x#QSc4eiI@uX#_`lXf*ff2;Jh#c6dPo`tHuzP@*a z%K80&&k~mq*;4fM)ZaAj&;?n2#j2M@y{E5}Y<|fVzoTH{^6BOxl^GQQvwvn(8w<7O z-rly6O?BhrU3u(No^9B0($sWoN;jh;5oj9_;wBve!$sd~e?EZMDJ9%$6d* zzr9WNE_-uhqG9o}uRZ+ z%T{{kR`!COl_xJP%{0E0{P+>)FNgR{#c1!VD>mJoJ>}M^r2hv+cdc6P;_5tcZL3Pp zxpFTrt?eqARYqHtD|7EmGMzg0>eZ`t{}}r&+dn@y-`{Or>~6D?Ac<%XbJ5s+G5U|d zXE#hgcHPv})NWthH`55U@}(c`b~~JmoIP!Z$6keaql_2syysN<-B$KJ4)aJYdUf@L z99Lw=JCjY*Kz)4&d6_%b%kIsxyMFch?2CN6XSfS;etUiP>{;VWmwUIV=q?F8YZbe! z`~E)PU47;cHY~fabkY zEtHehwztfw(fcxO(yI5dO`zis>>`yUCs|IM`Z^~0_I6@L6ObJfpRdJ@M&Qi^m>E?wZ*>8xoK zd9-d;OvOKosZP-<2U%(#Bt?cae*W_IwdUp4Q>FaZx;K5UJau@@iI*=W*KGXs>9gx$ ze<8tt;ggKZ(kGd)YcRdN&2^>w!cEod^IjWxaKF$lf2SR`Zb|DLmdV1`FI;dqH}S=S z9JbGW=6QEA&bqKyUKS||%#QKZmGn96{LUkn$5f$IagFjq2Epu;{B}PY?#7yw9==l( zbu@JI?}#HwEH`U5*1nm+s_l_J^UbA~%RB`yzOkxZ+N!g{>FNxP%WdC!HTSn^1lOu} zYw|Bw@}FTa@oaBe`tt}$w>uja&U$tI+O=DTRVz4nlr|TGmPtPOI-%&Ii)7`O>Thon z)#s^IdaAw9HV@$9;aaABLoa!6OG~ED+BN&dGCNM$q;i!^`W6_UG~Iw(`a$p(uM|s9 zW>5?kiHdzO#~&4@YQBE9t5{{^a!s^;6rjxxP;g zGfeN$GS*yj_U-Kr>lIIRi|IBg%`T8Jd7N>|(?FH0jr-)$Wc34m%FCXf_Li2Go>{5F zVzMhgBV)-07VdyEXV0ni2PN;DqgHt`q^lFW5L2!9nR|XNgQSz#B+0hNTTf^PcXf52 zoV(m)Q%h!NjJkXKff&DaB4T1U_s!L0IUjQ1l-S}dAKwh;;=xm#RZSl>bZaaJu*O*Bp1d}rwwOXK2c zzLT|048vaiaS8q}%J%unlh{obI!jxO1)p=xp0r6-Wqr;8K|#Tjx=XgHdUr6iHvQuN zHZxy3beV6?{kOa)gVQA2|2X}X*WF&bNM-hg#Rdw+`Wku%pUhx7-ZnK;Q8;zgF&Q

wG!?Sk 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 G&;$U}B{#YN literal 11906 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 \uicontrol {Qt Quick 3D Particles 3D} + Preset particle \l{Particle Components}{components}, + \l{Particle Templates}{templates}, and \l{Particle Effects}{effects} are + available in \uicontrol Components > \uicontrol {QtQuick3D Particles3D} after you add the \uicontrol {QtQuick3D.Particles3D} module to your project, as instructed in \l{Adding and Removing Modules}. \image studio-3d-particles.png "3D Particles" + \section1 Particle Components + When you add an instance of the \uicontrol {Particle System} component to a scene, \QDS automatically adds instances of the \uicontrol {Sprite Particle}, \uicontrol Emitter, and \uicontrol {Vector Direction} components for you. @@ -82,53 +83,6 @@ to simulate flying objects that follow wavy curves, or an instance of the \uicontrol {Point Rotator} to simulate windy weather. - To add a particle system that emits sprite particles: - - \list 1 - \li Select \uicontrol Assets > \inlineimage icons/plus.png - to add your sprites, 3D models, textures, and other graphical - \l{Assets}{assets} to the project. - \li Drag-and-drop an instance of the \uicontrol {Particle System} - component from \uicontrol Components to a scene component instance - in \l Navigator. - \li Drag-and-drop the sprite image from \uicontrol Assets to the sprite - particle instance in \uicontrol Navigator. - \endlist - - Add instances of other components according to your use case. - - \section1 Performance Considerations - - The particles are designed to be usable on a variety of hardware on - desktops, as well as mobile and embedded devices. However, in addition - to rendering the maximum amount of particle elements on the screen, - extensibility to different use-cases, rendering quality, integration - with the other UI elements, are also important. - - Currently, the rendering runs on GPU, while the particle system logic - runs on CPU. However, the \e {stateless particle system} enables you - to move the system logic onto GPU if that seems beneficial. The initial - measurements indicate that the system is quite well balanced between - CPU and GPU. The stateless system also enables animating particles by - using a \l{Timeline}{timeline}. The model particles use instanced rendering - to boost the performance. Therefore, OpenGL ES 2.0 isn't sufficient to make - rendering performant, and at least OpenGL ES 3.0, Vulkan, or some other - modern backend is required. - - To get a more concrete view on the actual performance, the video below shows - a particles Testbed application running on four different Android devices. - These devices and their chipsets and GPUs could be considered to be - lower-end to mid-range, confirming that the particles can perform well also - on affordable hardware. - - \youtube 9MqUCP6JLCQ - - \section1 Summary of 3D Particles - - \note The \uicontrol {Particles 3D} components are released as a tech - preview feature in \QDS 2.2, and their functionality will be improved - in future releases. - The following table lists preset particle components. \table @@ -207,6 +161,190 @@ \li Applies random wave curves to particles. \endtable + \section1 Particle Templates + + A particle template is a preset of particle components that you can use to + create specific particle effects in a convenient way. + + The following table lists particle templates and their components. + + \table + \header + \li Template + \li Components + \row + \li Animated Sprite + \li + Particle System + \list + \li Particle Emitter + \list + \li Sprite Particle + \li Sprite Sequence + \li Texture + \endlist + \li Vector Direction + \endlist + \row + \li Attractor + \li + Particle System + \list + \li Particle Emitter + \list + \li Sprite Particle + \li Vector Direction + \endlist + \li Particle Attractor + \endlist + \row + \li Burst + \li + Particle System + \list + \li Particle Emitter + \list + \li Sprite Particle + \li Vector Direction + \li Emit Burst + \endlist + \endlist + \row + \li Model Blend + \li + Particle System + \list + \li Particle Emitter + \list + \li Node + \li Model Blend Particle + \li Particle Emitter + \list + \li Vector Direction + \endlist + \endlist + \endlist + \row + \li Model Shape + \li + Particle System + \list + \li Particle Emitter + \list + \li Sprite Particle + \list + \li Vector Direction + \endlist + \endlist + \li Particle Model Shape + \endlist + \row + \li Particle Trail + \li + Particle System + \list + \li Trail Emitter + \list + \li Vector Direction + \li Sprite Particle + \endlist + \li Particle Emitter + \list + \li Vector Direction + \li Sprite Particle + \endlist + \endlist + \row + \li Sprite + \li + Particle System + \list + \li Sprite Emitter + \list + \li Sprite Particle + \li Vector Direction + \endlist + \endlist + \row + \li Wander + \li + Particle System + \list + \li Sprite Emitter + \list + \li Sprite Particle + \list + \li Texture + \endlist + \li Wander + \li Node + \endlist + \endlist + \endtable + + \section1 Particle Effects + + A particle effect is a ready-made effect that you can use to create, for + example, fire, rain, or mist in a convenient way. + + The following particle effects are available: + + \list + \li Clouds + \li Dust + \li Exhaust + \li Fire + \li Heavy Rain + \li Heavy Tire Spray + \li Light Rain + \li Light Tire Spray + \li Rain Mist + \li Snow + \li Steam + \endlist + + \section1 Adding a Particle System + + The recommended way to add a particle system is to use one of the + \l{Particle Templates}{particle templates} and then add or remove + particle components according to your use case. + + For example, to add a particle system that emits sprite particles: + + \list + \li From \uicontrol {Qt Quick 3D Particles System Templates} in + \uicontrol {Components}, drag \uicontrol Sprite to a scene component in + \uicontrol Navigator. You can also drag it to \uicontrol {3D Editor}. + \endlist + + \image studio-3d-particles-sprite-template.png + + \section1 Performance Considerations + + The particles are designed to be usable on a variety of hardware on + desktops, as well as mobile and embedded devices. However, in addition + to rendering the maximum amount of particle elements on the screen, + extensibility to different use-cases, rendering quality, integration + with the other UI elements, are also important. + + Currently, the rendering runs on GPU, while the particle system logic + runs on CPU. However, the \e {stateless particle system} enables you + to move the system logic onto GPU if that seems beneficial. The initial + measurements indicate that the system is quite well balanced between + CPU and GPU. The stateless system also enables animating particles by + using a \l{Timeline}{timeline}. The model particles use instanced rendering + to boost the performance. Therefore, OpenGL ES 2.0 isn't sufficient to make + rendering performant, and at least OpenGL ES 3.0, Vulkan, or some other + modern backend is required. + + To get a more concrete view on the actual performance, the video below shows + a particles Testbed application running on four different Android devices. + These devices and their chipsets and GPUs could be considered to be + lower-end to mid-range, confirming that the particles can perform well also + on affordable hardware. + + \youtube 9MqUCP6JLCQ + \section1 Particle System Tutorials \list