From f1b0fde0d2047f9729f80a5b6d7449d71de91eac Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Fri, 29 Nov 2024 15:20:54 +0000 Subject: [PATCH 01/30] [Port] [2022.3] [UUM-83862] Fix sorting the Reflection Probe by resolution. Jira : [UUM-83862](https://jira.unity3d.com/browse/UUM-83862) The 'resolution' field of the Reflection Probe is an integer, but it is displayed as an enum value (256, 512, etc.). When comparing two resolution values, they should be treated as integers, but they were being treated as enum values. --- .../Editor/LightExplorer.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Packages/com.unity.render-pipelines.universal/Editor/LightExplorer.cs b/Packages/com.unity.render-pipelines.universal/Editor/LightExplorer.cs index 969f1648093..15a8eab9a49 100644 --- a/Packages/com.unity.render-pipelines.universal/Editor/LightExplorer.cs +++ b/Packages/com.unity.render-pipelines.universal/Editor/LightExplorer.cs @@ -51,6 +51,10 @@ protected override LightingExplorerTableColumn[] GetReflectionProbeColumns() new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Enum, Styles.Resolution, "m_Resolution", 100, (r, prop, dep) => { EditorGUI.IntPopup(r, prop, Styles.ReflectionProbeSizeTitles, Styles.ReflectionProbeSizeValues, GUIContent.none); + }, + (lhs, rhs) => + { + return lhs.intValue.CompareTo(rhs.intValue); }), // 4: Probe Resolution new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, Styles.ShadowDistance, "m_ShadowDistance", 100), // 5: Shadow Distance new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, Styles.NearPlane, "m_NearClip", 70), // 6: Near Plane From 846f4cf17ff53260c79f24a4256ebfddcf261b76 Mon Sep 17 00:00:00 2001 From: Oleksandr Kokoshyn Date: Mon, 2 Dec 2024 17:04:52 +0000 Subject: [PATCH 02/30] DOCG-5984 Improved the Custom post-processing section, migrated the Fullscreen Master Stack pages. Added a reference to the custom renderer feature page. Added a reference to custom-post-processing.md on the customizing-urp.md page. Implemented the same structure as in the 6000 version. Copied Fullscreen Master Stack pages, the feature is implemented in 2022.3 and was not documented in URP. Converted the formatting from the main manual to URP. --- .../Images/Fullscreen-shader-rain.png | Bin 0 -> 401983 bytes .../Documentation~/TableOfContents.md | 9 +- .../Documentation~/customizing-urp.md | 2 +- .../post-processing/custom-post-processing.md | 21 ++-- .../post-processing-custom-effect-low-code.md | 32 +++--- .../renderer-feature-full-screen-pass.md | 20 +++- .../snippets/shader-graph-blocks/alpha.md | 6 ++ .../shader-graph-blocks/base-color.md | 6 ++ .../snippets/shader-graph-blocks/eye-depth.md | 8 ++ .../shader-graph-blocks/linear01-depth.md | 8 ++ .../snippets/shader-graph-blocks/raw-depth.md | 8 ++ .../fullscreen-master-stack-reference.md | 100 ++++++++++++++++++ .../fullscreen-master-stack-shader-graph.md | 76 +++++++++++++ .../fullscreen-master-stack-urp.md | 12 +++ 14 files changed, 281 insertions(+), 27 deletions(-) create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/Images/Fullscreen-shader-rain.png create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/alpha.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/base-color.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/eye-depth.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/linear01-depth.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/raw-depth.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-reference.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-shader-graph.md create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-urp.md diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/Images/Fullscreen-shader-rain.png b/Packages/com.unity.render-pipelines.universal/Documentation~/Images/Fullscreen-shader-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2a4c8e70da7673fc4c189c48799dd747f241b8 GIT binary patch literal 401983 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 Zw(pF;)D6QhC?}55jwLDwbEQR%|r2 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

ri^-IS7U;F>^>+maSqj|X7b(?VH?P&g zU<5C^e0`#Dt*bhPy@uKs#rrJ$_LH_{7JX)=Cm)LG=^==pd!RXblK33$dG_COe=Fk7 zSF}={SJVzZBvu~?Dbo_hVP?6S>VkyJ2-e5BGcxJs01J&Or%H6*_q&zZPxf7Ec8R<*W-Rx^4|C9@xM+Y z1`(oF%3;ntNi-NsL$Ee3#XpCg$-~r^40eE*#b`S)<*$7VxqHB@t9W#Ut=apDV}fWQD++Wy~z{xh&)Uk4x4l)`xE1y)d=VuO3Fh-_mm3Q1tJnTys$#|n(n zjYx+j0Emz(PxuG!F_TK4Lz?{2YFq8((2UVO?is1?EqD%Q@&e|O7hu^sr`@7HrCko@ zxkPiJjxQe{P#r8=tD~_o&FMIQ92r7|*A>&RClV2FNces!4<#vsy6bVUD(c;KptF1sJ(ixAb<^w~qj`YVL*;=jq^Z`$5KMND{4ix1i zo~M|rDQHL^w2uu*7-$&h$aktIzK*H`N2`lZMA<0sz##syN)Pj3eE3}d6iA}W$S}%< z#9<@5b4}ksMUla&Ad6%3vb)Y>eg8H)C&5C<%HuE741N!#|-iO zHbJB8lP0)Ff4`8pdhRI`p<0v6rTpOxlrAiAewG%&jRKrkXNGHNJl+LjzoK z?(sR{dA%K@=_Oz5Lx)9=1i0^Vsxfj-`_MMWnf&O{rF2-Ly`C>&*0Zj8HL1l6-hgdwv3!+>$rO{RzAFs$du*C zh902&<&D58wHd-5@NDfVmBk@NmUlk$C+lVY$s8O(-w`OVl*nm*#VUs;M?AZlvVzNf z-1dFMXRGy33^hpMgAoENu87%A9^ToD$=~MzsRfCkPIN zrL+@NF!7~QA5Ey%q27ypstzQR=2HC4TUi0GRFFX#<*^SPtG8fo3ZAc~jrpt3Yo?E< zZk0=3r>_$hHKuuf62#w&{8~@R8$z~5(tKOBu#Z>CPt8Xo9Kz91KxkrkCSa9da!Q#$ zi_~(wE_lfZ*2~B*X%~CRqM6jUytfWOf)EfZ?p_1PNzaVES}RROLfQ?oGdHC!D1}>3 z?5d|m9ODmH24IfBX=CeEuT`BKU_k5j%Mi_M3Jzw(3}3s`CJKRca@X2ESXl&fNRpMR z=oIMz&0yhlLiB1e0LzdVXK*^PUS+u-uOQLG<}QS2G8PusafM16$VSA#3SphM!GaHo z>%p5sOH7fOH;!Z|Z#$;RO16TGPW~_XIys7>zYf1PJ-WNY;gG)L;oa2mZ%*=$uSStQ z0iekgKJTDrsN)(9R~bpJ%QyCRcaLrp0M^AtIeA@I%Z9wZW{jtn8HHh=5(Q7DHpEYD z9G8L{1P<&ETi`qiCYnis^MlMISq^pT8Me8NrYt?P3h*tznb%icV9j(Mt6 z^(RMEn!uvDGAm-Tcq-C*1gNSO;^C1Sgz>DS6xP-QqbL2_11C|{M9Wwahty$GKde7>ZN z)NI0p@Q?Q0<_Pn!2s5xdM0o$??TY^Sp+F`N9pF%v1e!~&!Oz<-(k5a`-*L)R;x+v= zv*!{SIGWHi|AAzsoSx4;wE2v?d9?Kk3yCH^o7v12>*bp3(3}uub~efV-4Z>ShMFpV zy#96P3P7#tTWn!5Lx=VAQ=dz+h!C}~KkuicYBSc+gA!y3BH3~?fyl-xdFCjcqF2@+ zn^!wK;?^wHzUIP0I$$dh$b2NuvaLx4b&Yr%b8 z=GxE(R&()k?G-&Qkj$#tMQS6{y{zy{JQdCA;c2`!w8AgpM3iwdv4F|e!B!pSSOU7T z&#0XH?3GXYGCRAzzYdsw_AY==tGuk1n~`g!~7VkL@8F9D`ySsdy}ktqNs z8NCk9*g?(T&RdO^9_JUu1&;hUXWs3;@9*#LK`Xew-I+_*krbxp8t;$ldH5I8>Zy^Z zvGvnjP<%N$^qK+%X;c8cWaku+eJXxrFnut3!TZYTCXBf>uYuY+%-i6doOh@wnx~D0 z4JXRk+#%`bEV7KNt9^@8Y!5{&+bkt02`UB!Wb)it)#89zybSFOg-C_uhWrLUMNWP0 z6e|x#QQ`+A24)$K1Z7dnF5E1iL|A*%7h8?emG*h<2y@3%F;ppqhjNBjK$NXmUexnP zOoT;Mi6c;@RdnJ44hCRN(A*!ny?;kJ{hCBL=sC@vK7IY+%qzf1*DJy}+-9&{x*z)C ziJzu07zRUF-X|NT$N!u~n%7F>8?Eu2rE86#_eGIXjy3L_BPT#c;ZRN!kIP!X#64?p z*%(yewlx9^rBRV>N6j4x$b(eQk-1QFo0J%$XQpeM>&{i`Z_mNEwK{})*lb10QA|7Z z$KKf-p(iBTT;|D7j^KQWn4ip7Jjw6L)>T6!bh~n7VbAzD6V~(vGrQLlTileoXolQRrRFzKBw<6s$q#2;V&PYA_wbGc2 z{G9j{TN=LJT?@`ujGo6tERf#!!{&k;-R1Jodn8GlrP38Kx8jv&b7bsH-lAd-XWvI) z_o4q44Lp4Z$|{H`!7h#bs);AlgcM#vW|l^HED=Sgl_TR+R%a9q7igyg?TifD90(Fh zg2w`I1u%`5S4;@=6w%J55=2zOU^!@kLk)(vGmoOXt(Cf-m9l@l!SSYWdKV#+=S>4^ zBSM^Y_MRE~5fs z45Q28(KrwHeY?Z`1{X<-ta4;))F!a+?{9vf3b*4RxnA`2Ez)WSMv7}ssOZOFfX+LH zAlyOjRAPhu%~5QJTrN%@hR(U}*J~xmeK@qARK*C}`)O{ci_2IytEkI%d7j{9(VTdj`6A>m{m)OyfkP zu@|CL`X-lT?sr9Pj0x;|4&7_yq})RvItRynOZ;(!^RSqi^BAMWnnQ8ssv-T7pzGkMB(^Iy4{vEQo3*Yvc{bc;a(+q^f_fPcSCl*6CD; zRpv@w6DsgJPQl|@ZxP(P5ch6!=qNG*kRyFt8>$pGiWV@Uq>upY)osCoKifIpj`+F2 zMboe)YU`brs8605KL5}E*MG0})t<;n5@f3gViv6Cu}nI4E4VWOl=ERsM5tFOBv4SL523uvuz5TxLaVXHb!t0}c*5|h+$yF*{ zD-bbXmEUlR5Q&5A1ln3=9KtPB zlt&w=53?IU>ts6dulz|a8dsy5^^p2m8m^EUcBXhv#us!9C$S4)=q8J{INFT1OHA;>y|~AbK%Ee#DzBR)7P{N<(=Y(fPLcH% zRw?`0t6tjDWnU`Dn6XWk-Q)t(GQQ2rI$t6)O8X!HX4$RIOIW|tEA!@3gIzV?7D@NJ zXz8S@)=x7a(yV{nHEiW}zj?H{EDhku=1CQERCDehKyhBVF*;wBqgV(`)! zv(r}Q9rJq!cUtZqJT}I?35t@pKO}Ty_#OT^Og7lZQZil$&3+sl>vkPp4GUAXIzyFC z0O<8+9jpDxHm3*l#YLZMJAGF(p~A+4f>bWR3w|f#T$0Fj{7J*NbRO#Hnk$kXNA|I^ z>8=>jfHlv1O@!qf3a+}kX~b*3H3f`My7u!F6i;F(!uAg5m4E0StM?f5(FMy5GxqC4 zkYy3mLz$Me)=HGx9TbT0yigX_Q7-1nRgLzDJ(nh=wbrXpnjiJ!bCqK7TcXK=;~`9g z2C`r?v}h@Dz#vrsnM@_KNTnm!OKux})xo*UwzSG8In~Er)xOEDM~hCpGR(?mPzu>f z6t)yh{s5nkic9QiEF`!DZF9m86@qr#G$x6uF1L#YD)7bqVF{C(6W_H;%%jqR#k}@8L zHogiCNl(uZfW51?5z;pke~p1*jQIzvb{x5O>KumH8i2bi5R_*}qcDa9lD~fa0$@~J zSvP81>#)moa+H1vAS|93NI$o5=ks1XCwZg1t!4(-JbS%IW*zeXL4U3HErVwa%h$@L zD=pIMuyNd^`PwSgCf4dC?Ywy3nN)dMn(Iv=H1{Qx1eOBV*Oy=l-6((COlPb>Bh9Af z$Hdpj{O-`_$Us&+6EHIm^rW*~;l7GAk=Vy{;=)1F!f9|I)RLvMr~ zB3C*lgBN=}&O3Zr{N$}CMT&GESwEdk2k?@PO^tfwzOeLOmmUKcx9xGVB}X#c z(HpcRSqRtop9WiaNbw|ZxWTr~BI_8*}5$80;c06y+={$HUBShtdh4DtqLYPE(6yUAKox_ty z>{D0H+x~>W*Y9@#D3+UfDy8lS4V9c_aAVST(@ zLFt!@53Alb4DA@Pgj~N){J{U0v47i@WyiGy!7(Ubf&BlkN;FU}mDNCHzw}=e^2BnH z{V+(1GV>kT9_Os>)7(rZQ55eNAbhLV;1Ex7xBv+n;>*+~NP;wn{FRCg;74_s+_Obz z5Z1-D$41*hU4_}jaCW&QHla#j}A%L$ZYF)eEEO=N}AP7R?x$7j*F0YI^~Z|%PxKlV0xKXGcKb6RdD zzbx`{*^tiWJ|)g4eRvR)L#A%-=_;RTFzN2aJJl9DJ85b;(a{h&rcvR?&~A_vi;f1asY-C7gvbG|HIBA-A@a5v%tXuP{yo$f z2WC*D*8(DFC34gPn>%0>Q!@FotTb z)vOB*0HoP3+=KBkD)}I7yy_u2w~b`^I75t=0I?*?ej;d@q}FUw;i6M_M?v8}cy`3n zB9xb;6~RnYTLhwlrk!*!pj}KgWku}0o!q3&>PNRQ(H@GEw8f$9N=`%}0mm6gX8aGt zxBCz&?5K_BFy(Z(iV|0#EuL~4(=OV_Ml1ROS+j=9#+ln*=ac2lGvg^3lfX@zQ@htz1D={=d<;6Nb+>ybu1a0oSo7 zUGgXktldpGROy%!*k#kp#VCS(#VM3B7JFc+1rO1XWnV#rl_95%SU*04A4iQ8Q#JyS z3V{1t1aEQ&lL$4(_D7}P2h({R@Y<2H*b*E5iG-evjUJ?)ZL1y{>T@sRwyt5Ahx_8Z zau6emsk{LAAm;xt=f@4Xf#dk3#V)^H1TZ}e^iT+sEVT)X@Ib&zYpliU&tB}P3%2JD z_A)IbU0$XK1qNiS4;SUclO8|Jcos+66Ni#FZGk(&5=mO5KIVL6sn-j8c3ezhKrd(# z83jpMF(6YPl$~>b-qa_7Ha$^;(3!2Yj%pul(ZdOz;1>1II9Wc)AxW(ThC9s39Ej>W z`k_U@xDB==$oQm<{zS+2#sg^EO>HXRFjI$zq#glDf2T>=CGxZFD!@g2mkODu=}o8Q zyTdI0{4pT@{Q0%Il3~^jab7AC@7S=QZ}Lo4H-96b9}6e}McrH6H8L6c`9Wx?8}&Ge3g<<%k? zgnK*3X~n-&Ml?2}9+W)nV9e-p z=`h)NUa?B-=$xt!P_p4o6DA{U+~$c-GGJ$J{1y9n1e(T~amKxiP|h&$n)dVPdF(8G zGIi0C_WCWu#nwA=v99UG8!Xl%s4j)c&5elIdw*!V91HZ+1|C>G-yXHWeMX8d)jU0& zWk{QrWo^0|#3E>iJ=d!yiMDRTFqVH7JCEn^&iAaEuAY7AU6?gQj^{dn9Jx^V|vR^Od;yQlwW692I&?eJ|0Ri7(AthVw1VdB7JuiyT}iL{btSVi@2 zBsqUR@X9P*nq!X+*?;xyvNXa*2H4CkW|{a5l%Oxo!5BNl!W}e_?j;r02LtOgMx*Kk zY((7QVpyPD4^2ozlor>HFr^lSiHML24_3ez*gv@e&gE#UEz|LMBA8F z;9KFdvIKQiyvxedY|9aCUTK<4a#wO|A2bzlrCABqxddkMDM@aFz6HQjfPyLloCm}s z_97V!#zFx2Ov^5S(qMvIENv#nCM_MiVl(SJM!;!L0aipoMl2bc3hrW-edZm2$Ja|K zm!|vY&z~6!StmUDq9eY0@9>O5iJDFY?sWZzNUS|)K&wI(tC+`cY`hg%GGJXkLST2d z?FS|$iDB~72&!IGZkKU}f6OykAy&sr*u-?e?J4Lyg2N`8L7j6dh3$YbUJ?L@zB{OV zNdQn^Hi-oeSdhWhqoKK=k|;^a^*BI!5tRArn()P4VyL+_bNqS=DFlIdc7q@;sdS#k zDF0~`(HBEym8swPM!M0Eg+K^%8)ftrIhUBzkRs|x_hw=0vgr%1KB^{>$Yk#N0UV7m z^y;LfC<*dL5~S=fP|FV$MPLEpaE8d^j9c2E6`$x754h`H4U`OWO$C)IBwo` zp6eIY;QkUsSdj7{FYt?qh(!b_5?sNRe4c`%cAn4IT?r|Uw1O|D4_lv={XcS`whw5d zqGVeKR>n1c0K@3qD9rOvle%;n z0}*?hvyuic1`*qj{1jPJ!zxlN3c<|y&A78HFQ#axR_E$~tVwXlWZXtli0Az|v zGTn)=!_&7VkC0*lTH|IW&qDpLrz>V~F;o?^C-063l_nm4u7YIGH$4n3u#W4O9Djfr z68liK@y1aH0JnggvI~l=N?CL6HTi*uKVs5^cjr%f)*l7bSz8iHCafTWAL+PKkpZXe zZ~}jj>BN~9;gq($lwW4P_;F7e@vWTn|_kh2dJ+$hAxzE{-O%yd!1C?$VunbgRgD91*L;)kS z6KQah7EYLJHZHeE1OkhuR%0BgN|9JCNVw>d@e?PItd-HGr>V|X6|r`T9gS%$>MC<} z1DVB!=daT$CL!$PS^=18%Y&u)5GC6<^mM`VAW3UY-{upwsBb?t8N9K5M8^zZW`Fno zW9vhUh|NHX&k-_XD|#oc)7{A6B{TMGj@nfBd{dFT;)**{vb&$0sK9Jv!U%lTD3M(! zs;J5Udcy=j+7+)o@_idw$!JSYiSp9)qt>*9pMJC8#&A;F?LoGR?cB! z8Ze@2>OOjm_Ww;BeijYst)D15KV$6)lfsA}=Y2kPPv-jUll?kH($?#=XFlI@5Lg_1 zSiC&GPH;w;TXi_R&yCwt?=13n{YA$K{9@a_z4Rsk%@9iyb@=lGG_ z+RN)|6(=_c$cSAlT7eX@b89SY@HqAq?YRRTRDhxzKRyKF{B%+E#}b||==NDR0ELGH zfB^o0|107{()d+1xjzU7zCbWz6^oX21XUd;R+-bXRh8wbj2)5Txc%!VNp`h%_V`-v z{@h?%S}gJJzZ>{pW;8Rz`xD@qzMgek0uAklL1I#| z*MX6Ab>s|IW7Efj_p5n+%Gf59V>v+eWsiy!9%xYG0}%3*y*H;MN;~ja`;|SN^3Jdx zO60g{#6<-vs~0dTs4gH|(IdG*7N8s_{n^IwK$y{;r9Wj&xJvk7LBc``5G_hM37mZk zMZb2LB|`)h3n&?#;d)5FS~(Y4V&xE*pF2C2JmhJ_fVO@+@F znJbZkY!Ppz)a-CQ-qSEMR}Z^`Er*8z2!pv*hIsEn&pFra9vD?^Z=`)H6@xwZJ(C3< zu<)=MZy9d>R0Q|1zyWYC6n(1i@9$-+<1IM$lz>!x9WZsp@H+cu{D!mg#1$VCD}{Q< z`0DK7(5`$LdsFtU0ERRzx}#@S9iR*s(PeW10E^sd=ToOF=CX#|msYhN$|}44 zP)?DEAi1N`mU-Z5WJN_64H1v(T|RHS(o@R4r99Kqo)WjsMO;7X6?>@h~&ooNb;0^djOdk zz~IyJ$+9Aka}?vJS!{J6q=%b|jGU_Z5N;faA_v&^5TaqZY|9kOYjtzwIU;OX?{r?<>Sw?KLPlOIEoxZ@0_|UdItcW;+ z=CqcX<4Y!;(lKJm8COPF+b~nXW7)H^%nvh$%-33<&*#sdkHWp9r0L@44+1sw11)f2B3sBsixI2|Ell z0CwzZR~lLt^~_sJc&_O7LC>Qx8O(#g&273z%NJ#dCT|E7 zJf{!+0P1M%!grO5;2zqxkvlL_i*)eKjEeW2&R^MMvejOSwo$r!gfmhYa+PR;`$pK8 zVeZ+7Yk>D~M+wITWQ8?!q-+PB>^8sM3=-`oe(VMKtwvHudV6fsg!$aNxmgX#iAa-U z0bnG-5xs6J;QVws%!pHnBO*RD6>X-vaP_Wgeom_!>81# zDRyj7o!N{A_QD)xmx#D8^4sYb5vVSwDvqkvO*yaMB`@j6EV3e?>5(0Q6h^Bd@t^}N zN87YOh_e>7GZwA3rqO1aIWY}O!i2|J!-*Bc6v*y9Z5-R(#kjFi3+*>I4vZWcj5qEw z*|rxtUD*Q>CIP@mn!BOK_%xX zzcb+2qm}bPi3F8hhaEt_v0S$&_OQvLzGUq07!>1%4Jz%o zO1>Se7OL+uTSNrH%r|T~0J?=bOD!+8WUM{ZIc6CT|@ zxsFF|=c97tIdy3pV5G}?=R{KGM8jhS#M4XZ>1s2Rt9!pCe*;lF-bwed3Dyn$kDYtXV zLl`otvF_i1YNB3TJRUPBAL6{kfRAwgIopyubIVA0gn#$n{dM18-vB?h{`~p;`SV9< z6L@_lRqgq>dlxpj!_4b8?h@~7Idpgj8kd%aXmZ(uq`A~3I?Jljjkc~?)q_p@E>S7& zis$25D?WHJ@3HTb-eKJEgMUx3zXzNnvn;{=YD=Y-117nr=naFw{uJ-#U1%DupcnV* zhZAI&eR6gLVs|xEz|G)@Zk7OmTyzH;0xVKY$(b=A6RF5fagc?gbNNTye1MTfB5E|H zt_N>q;9XpFtoI;NSKvfS&q6JY_7E-st?CX`%>lhFWJN?S zxg^KQzP3hNphuYeA%gIBVx3-DY045C!Qc)3-V#PG+m8e7Pd77pTGzB4jZaf=?GOij zyO1-Zd+V?}Pg&7n;3N^j*gnc!u(ql9YtQ3=b6B3TIFB_8Wp{|5=dp)Mj&BncTZrtn zM8qclm+i4xl-UnR$AC zHS_13>+zIX4Iq{*2PDHnF^zS~WZUi1bPp?Ouw}j%aGWquv6bKOZqb$>Bf_%%CLtB` zvt*&?-@Os4Zt5YPz=6KNwWIX+{+L@k!9qqYY!q$H4rZh@c7GHn7-pVNr| zKCm%{8b=Z^!(VlX@L*)VS~9OP2%G^8^p9C^c?1xu9j1_#TW3HP^Bp@{XR}lvtZd2L zu`kT+3q0=I2ol<1Otxl(>C5C*#O6M62rH~ydh=f6O%k4pPGfb383 zOte8E6ABk`YX4T`lKVC@T2~%NW+&A&$4KW4a7gG;a{3KQ^mkSU21{5m@G)B@_Df=K z&Y_Yhs)3oHi^7gO)M;{^NQwEjg#D5aa8rk(+NmPA`@jGG)y1_w0Ji)7U;pJE|N7Uz zF442n-EX23TJ_JD7FobF~K_Me^)up4~FW1YJ|` zXBt!d{H0(Vv;2@GeB2O`0ZH?{>6)(xBYaghU0=xomodN*T)z=ZEagYh+BOs{ zWq|>!6ME4QD3IjtH@_(3>15VEOx-Y~qgHJ+&6fKKpo*?RB%LjfcKq|2E;eczFMOuD zBTUwm+CjrwYng2skH6n<=Ftw|7zonKR_*lVpiz=eJHdcsPswwO=D`y1iX096iBvw5 zM!iY>oJnA-xO$Auc9zi&BoyDqu@TBLq7(F!-x(1Ir9x)@o#f{SK70U~REH5;%ZV-H z8ej-^8rR_@tljywJu= zk8ztM91b_LMe_(%kxmw8wWCp9sxyCIv{qN=wt4t?*OS_w%C{wex$nnq!ORcZuJXiX zp{$-Hnjov7J&zK9pxO(p_5cUf-i+t55jJ`Se!pA2m;ijg?%$ACG@N@YBeKbNjigdv z%qYX;*?E))DSsLjbj}_jAS|N8u}loFYmPQ5Cn?!xR+UWYcG9EToeN6ueE!=wbTpjF zrJBL_1-zWm6T{!|f5-%i-oQh&z3+UFHds!koLrh7Ncj{w)By)aFGih4v;QBT=r>UFIEbQKBoifYl5 zK?DXTo;&^%CntvVk{>8huSlZNiS*U}{4Fslna}1g8pE?PybT|e{#A{br~qF8EG2F? zv7B`5iW*Ni3k{TU^Ed)$XYT_21vKHZHUfKpEy}B+DVlxCK{tsYMt!*0h;;9MgV`ia z*`7e|Ynf#f(PS((B9?|SE5>87@BR9DWs($AxpIeNGgvlPbh#K-VH@q2$-TS`5%4fB zFj+fNVou)i>357N^&HlR9u<|7e-3#Z z=AY#I5SIdu9Tg-Z`t$?o<&@{nP{jImjIU)9;nDO(;OsjeU(PDhV`zJCcW;513^KwE z5j5ZX@Atd@{1MI_S?a}pT5@U$Qa_zlM@YB02=V;2emdINi%Jfeqga{tOE=Dv>v1#G zHq~@!@Le}9QcX?FKXc%4uoj4ZOzD9q^U9mBMjZKL4Amhr&yoAj0jt)0!aZ!JEYV{- zj9Evza!op5rA1yA8n#qkXn7TI3UPia%uz5;@tf6OLJonp%1q<&+>skTN28sx@>nV6 z{gWmRy3voEh;R3}vvDtW*qn8;(kNx==jXkHJ>Ub)<`&~{+#?81AVjnMHY8NhR7&Pz z9<94{R!1gX)gmLJcAzjS6?9wL97_;;vMzW4h}QAC}2vPJ@LQ zM}l!+$&)2)6cbWSR6QbQaxBmnFiqU&68=EW8ih9EP0d*GYS%bp*Al@dVw5hC0Gw2J z+;)gVqzGse8>{YDAE|3C?-TK6myh#u$lZDAxmh#*JeQdaK4Jq>-W2f`>vZ6Ba5E{NFQhx zzR`y2bt@OL;pT87&6esAOD{s&37w>m{k}cX4`?L&5bzITtUye89RRkg_DHZ=43`Av zz$8$;;|d6If@T7g8FwB3Ii*iTWc=}g@i>O+k2k}>OI?u=Cz|pgPd$|^Z+CMqmUac_ zZ1*HFj0Dy3GsoF#b+UJ?wf6oZn_GY98^wp$698KqAWS2%b70q0QSDt;yEmRmAkvV33R% zayu!78OTg{^X$A9?qBymRdrp`b0c^2>B(GW-)a@%+}Z4G!m|)21;Ms_OoDYbs8!?6 zY915le`hh(NrE3Y@bI8$(gGI+ERNe z(2M}~)H)oVX-pNT_9zXTGe@R~$r5+H>zA1GSn|aA$&DTp9^h@1Q1JL<46MS`M!sy0DqoY^=C zfQ5O*_N=2dCF$FUG*K*SaC)9Mh&}L_Qcx0rmyx2Aqoa3W9^t!}z^4+_BJ1Qvr%YJ} z6akr`o+BKq-s>c0ho847U(#G;ZHSzM`?sF{*_HB={s*&&$|^vyMTsf$g?SOQNRc~r zqDdUQ1l&U*E0qC&7bTBd+`VYmn_SFuHic{wxqg;e?X!TNMuF|72 zaqGw!S5nH%b?ejgCIXLbVjaRdSsc+Onu5%Q85CHuval=C_C4rTr1ELvNn(}mJ5C{y zgD~#i-4uRPVJ*uCmL<1CaHLE&{~OdWyL3NkmbAnZ=`2YwnDOlJ4NIz`{P~>dGV{Hc znY)MkiLMwE!@$BA7P#vegehLz%v6lDlu-fzPC&80QDv#mxXIUx{{bg0ziG6K=A`^p zUX3E+j<9MiJW*Drg< zHTROdB#<_%E%U+uMqKNynd`mh|BqLCIggQV2%ytv^r7+Ez?y> zQb{!V5c{QyolRDh7fW-!0vP#G`tIkNR9G{YIaE&&ll}l{7 zFaF%Sf7(zE5KWqpd0p9YPZIPXUp3Xt zv=txmUUKX3fX~QC%k0Yq_>MrBD_lO~kw6&S@bQE;AaQL5Hn0eKP3%!rA$g6_cEAHX z@>xX4zOl}oXcEI#oNnbmDcd>SM$$KOF9z8kWTEF%)kX=6(-pG;9_Fix4zh~!7!*#m zr?&YS@nKzQDajwaV?cU`=LFU8?ha(lrWIuUYsg5Cml#Jb*)TIGF z=%0wN1>KP5I>JNQEHtxhbuW=Q)KxT+2qkZhoJP{6-3!TO?w6>9DC2FBRh21e(!+s4 zB_?Rh&*vlQP-P-$N(51hts_NEI2Vy>ze56QkeI{&I;}(nP>P_;BDih($%VeFjL6ee3n2^zp?N*?5UAkNYP;Fajecfqnq(@s$3ZdAR-G2H-nO zck<&3Tfu;mg<#%9%B~*h~L0V>2T~9SGqN_$RwLz^;$CEAhC^3+@{6}w! zU(;?->`EsP0QDu;0)SXqX$P~}oiv;)bZk7>9P22aV^bamT`#<1i~^){`xFp;@A%!VFm)ExUJgjbh20aVY>xPx568^lAXyr}(A`oqd_~%8U<4 z_V)+&@`YnHnhu?{)Fs@0FhS@v)mI_y5H6F&cje1+{atgD^z%^L>Wp+$4D0R53R6M~ zLxw!9$gm%GZMl>|nmlzIo3V-q1#EGDD?ESlBR(qQ zq;+baGMRLqLwSzc)><*|Q3D445`Q!+k1yg=LO_ZaWz#+wKg}?C_A*OrCD-BfvS|rd zEvSf4y6Z&Ye9K8JI&A}L8q?RIqPQR0w|A~_gCvjrsK>|Iw_jru&D4A5e0Qti)5JUb|rFZ3!{?^!0w$6=l|oF0@n|2x6kYp-s{ zeUAf+*odmUm=u;!C^5W9hK00kM|%nFvnE(FMH*23y- z(deRxvab9{h_2hFUVa5&H9m_BahQHbwTnG4LBvafRJHCHo2AnisjDNh)=~2hg6qVT zkSY-~0z6d%~6~-7@Gq;ZZiAub$@y*KPW@dFK<|^J0s8^!~#5-PM+6W7< zX+iIBY#?PFO}H<1Af4*Y_n-GMWP=MM&PL~J2O~QdIRMKhKs%(8hxNI`I40i4ImM#T z;qgU@S>y_MpzA#Y2*yWsjeQIMoo7soQ<1ABwgAjSK#*}|{?xjlC`c#wrHff@bGy)Y zqSNM}r7a&+2o39WWlTcWp3qQ5mXQWg^Ab{nT;Z9R*W5PxB-+MaZkfvFd6G!VEyWlt zds#%-E{Llu%7J`~Yn4A|mC{H?mNghgR2SsYE6t&*cG_^2@iKGLQCWaDmvabOOb9HU0n)9Ja5(8HxJubIQ%7af9|qGiYRQCL zoK&%dlAjo*g(aK|wW1W1$0U2IiYIeJx3>xl)q3cZhStDI!n2`b+E1s2*l1MoVY=eT zOb7`eJ~Rg-)34-)CjthSDD8+Fc2FVk0Fk|G#0+>7=Rl!GXn*M5o1K*jbFlQpUJQK3umh0c>japx#rcF0r)3%4xM z2Q7k@5&t76k0jP*?{CaWq-w>fx~k-z$yK%aC{v4d{A; z@i;P3MCqmKEv;qCN7=7n57ZUr&ZtQ%pae^>I2&>N)p$zQ=ZEQ zRbnTXbnVm|K9d!~#Ly-HHtR(X*bZS&N5c=<5(buP5a1#` zD%ADj6K(lRyx^py@6GxNhx&BfNcyaLMGs&${0|5kIB`kL4Z5bS@8i?vw6fN(_f-2W zear@g8))sDJ_oHe9~5grb?fR#_Q%m-3U)2D_1ykcFcvTl4k~L(w^??a8s)Ms+M|L} zPv8q6D<%7TU&4TG;Z9R!V1{q(#U)(Y;gu;GA59f;IrGorAnPaSL3MU07R(^T_3cQ+INz%DFvK+cjSjdg*PfPFvfGFwh zBnicify0sIImA1jSqqJJg_d%tSqdfOqD5qK3Ckp@wRR-BSv2yJsjAToSqe}-rRf`q z8R3UPD=N>4b@{|6NVJ|bwyP_X;cbpl8gVF}AO*NUNtGkZt-QYu_WKUF+px>x$NWp0XdC zo@%7mmpvjAP8G>aSY2hbS>V~~F}l`frMy3&6T^=#(|wEfS@Kn67oTcTA7me|kO*jH z{All==(RwZRn)VUi$+}I?d_ysNlus7sS&Q&Z46#0nV|9YyrGZfFYfMhaaZCyNT9M>PND=3c}fy!w!b-e)9#>0Sm#sq{;8e40tpG_{0jtwvJ}X|1W(>)+lV* zAe!T8hV@QI$Ppe9KpN&{j0DiJQU`}w(up0YD4<+idPl5fGVi73&shG!qXD7{_7_5W zbI*Y!EeCkk_VFF2J|24V55R0ftJWA9y4PGxEr$t)&dwRxxv3XV@6s~HqtTMPY7k z_md!)X5l2WbOzCrZx1lGYUN$n%bn2S(W7f6AY#`G~bA zHfNf-1+vecx2Lu2Z3lb<^abV7Sab5r;tiL19K$#I*vom$>SAk#A7rbwVv#XHA0@+` z0Kqt2o6alh%_p$n#6#@f#dt6Sl7a12z_Z`z(ePIdUIjgF`<3N%S6R#}Usug!O=&gS zjY8yS`t@(z7t^})W*Awdq7gkJ!V%e=BV~p#Dr+e`R8QxoB@uCzD-#j|P_L8BkPtRr z`_`eCm3twj^iU96;0_=%#=AFk%nik@Ei#t6`JqLUtv>s` zE!u$H_2f>frjsx(b(zd09_DC~36E+52`gDvUR?rVJF!9ASaoU&(?Ukp0s~jFktk=a_=K6Aa&a+7&Nb=;>ao+xjC)CG zZ@$>S-kpzG^2w8^0e%&_1BM`s-iAs0niQ5mnc=S`jI#%Pcg}oFHL^hOV_%hIdQx5b zsr=sI^C}lD5)t9 z4gfym*42E1*d!3jz;$>45$NtY)6ha7;EJZqKWB(>BI&5nuPGeyB`YDHg|`F-bb4$a z1h3xSolumSO@#)n= zLV8Euf?!RFZ<6~6Kd*6gvz1iPkDMwbWAMy^s@cxLgQu2Z!)H~zTI*x|ibH;xtp2PH z0J#)ITSFZtRZZL0xbq?rqPIQsv<6jh+YJ1lpNwZ2n|r_|Q2>in2#!r5%T7>>F=Ejx zfKjRutE^QLd2#K)7tZH__N;k^AtfO&Oaqs5B zV!M@tP9Vx2N15#jUhmg;seX?e^QrP-n05N}Y07dXNj2S{a@a%UqhHhc3{7+2qTB1r zl8BI6eR`}is?ORx7{Lr?C{xEIwU*LN8XVj*&IX$dnvM?xUf!L9@sI9=QPRvzEGPl1 zMXqjn(Q)_aM;`FKu;FNQ=O?i)olhxfMcIE?@8*LOj5n{cdyPMeqOnv@FNH>8M>Wir zy2aooH7iCS%6Ar31X#_Oiv+@ z2nob7)*H@YMnXq2MDky}CD-1v{?hn)pSvGhGiB&|IX*<9{(}Cu-qo;0I_QIC?^n0O zzXi`{q4{CZIslJblB>6f4@K3r?@v2Q4pkW`R$lt|!NY;$9eF9>>GOSaC3PT<))pldDx5#Amk(sCcI`v!;aO*BmrA8+n_7;#R7n{vP zT8MC|l_cnGUwrM(Aq9t|l=wS~#LDk1b1o&igj|5;14G1~C~4CtPZ8<(bYLaP2;S_; zS_#Kk*JD%qX7}$%**R#2!A$FMkAPRx45(*->Hx&#X!2T|@au_zxj>@$HA<{GYTl#P zBZmsDdx}Sx!FIZ#+Va9#-x2pm82hH@LQ4$6uBXRJUQVf?5x^PO7+#O7*kZK)J?M05 zr;=AcYpIyUG)_{n>T`Z9Ptc_JtVR&SK9>b%X(C=+IjrQfwi6_UvKMp+#E~FjwF}!9 z%t;Gh06%{s!o!V5rA3lV%lA#(=j129Wa;R2TjtqCSy|@V)mEUKWxa|u3&7Tww1=aj z^a6irta5$5>qn`)5G4ZGRMnRx_qg3OEh8QsLRaU$kW^JlnyFD+xGh>#!faP)Ru?Sb z&*$^O!Tvu! z3;z6+o2;r6DF82N_kPn6FNe#N1w#pVbVQgkh!ibbo69(urc6HqW!4wD>~a;lcUP`1 zlFKtZoK@&m4v`gBfn2+BIBQLe^v}nVBbx6_{pUMk-L9n#oWC~iLCquLA-BCied{^( zWsmWRQ5wu_ zSN>F{6cIt}ss){eKbVfhFe^`&BiErNY_$$$!aZ4L@e6QRK#ZC zdWG9sz1_fxAnS0k?r0Ke1=Q~W;6qbHSJWEiM*@9;ioxp;9!VHU(TMQ1z+f8I$bd2S zSJl+%gdzX|GR(r6eIu>%7!(4*wYnHbR$K~1l5{6keQn~W0j9bNHb_k|A{F{CH6XK4 zM39>m(#&G-jui$^qQ!QEl?sW(lk+DZ6zgFL%g2svh%r8!h?PsIr( zgS>;!B9zjNh~0HD^4F4ifv&hS^oD53vLTr8QN$uJlhm^8)9J_jGMNyG{RJ&_h>zkh zX6dgeS+K_+(9_9v0HHp$$DsPGj$P~R5G5A$PJ4q%au4XTrVd#}h`=wgkoca>XR`hdE|kdxPH^{L$iuYKI;#MAoY;Fem*iO(m!2!d?s~%58i*q zpm?)nz#vmTZ|*_5{@el3Wkqh(+K*{pbgYd!C0@L5c);g96G2`?jHRFsg~w{1%^Nr@ zb8EPO$?HV?(?&FdxnPK52ZK^Yymny@``Cz|`{)nKe}h-orzu^cnpNPh2=2nPO=LJ6 z!@GU~00Y0^2N7MVYrt9d6CW>Sk&M2r!?7b10gEGKjkHFsl|oXWlr9^LfP7)~1R7I& z>GPFmt-(T4StAQnO+G6TA5Wb3&Ll-Kr?M1Y<=HhRnf3Ejas?Svs1h9>W7g`5YpG|7 zIdaij)CL^*R1*s$Bd~X@rMYue)SsDjOCNv;^i3s$yab+_gt71!kPa$CfOXVW`UK zgfJ-gzSHG2ihW91TmZnYkP%R<8%V+{m6mBM5U@%@kF@6AV%dXkqT&~2CePZl?QMxs zj2Mtzr?nqPthKU|VW~S28)#uSBKyxJlXeGBL?=<9pdcR*uX$d|!KnsUnQrydiB79$ zvlf~>NLlF(&+2ZCi_$_-(!itjkb9dkE)suzab=t|U>Q!>MwTf|0RH{^*UT!3eeyF! zJxAFCQe+{IrMb4Grc{ZNj^+?K8QG}i zosX14$g~Eec?eS4R>lEeMRA|fK>vh^dB>!bYR&_71t{Mg5sxwxDsE-`^Z=ZuFES`u>OZ z_>eh(CWpE*yPzhGt_Pn}s&`%9rGY$IF&jWsG?Ql0$5tG!ILBl~6YCb>;FkpAQ{vjm zo;wt47}rJfyOQ%LGJN)BLa(l+|A9yINrhI`(@If)(?u5A&i0;skYG>hbTb z4^$xB!JHj?*>ZQYmH~XH!bkwiRjxYRgXMNNIF#bqwuYAbYPTYSg(7_q$fB7*QrBIk zoP%srYU<^pLbGsCXh@KW61dxw46OF}!c`}BGr(A5_v2&(Je7(8+o!DD8&TRDlg|R$ z>m9Lp&9i8b3}<`?FF27yT#Dk4-Co&k%!4Hg-#OiMEIil zh$T83kiu5elwc(>l^k|FAdXlT6@^xEOxiHtr2kxDnw`$!w}ps+PtK3B8$ZY{d;G849=|!WGFh$Ff?n|14aq+SwyeCkqHS zVh<$gx8EU>XG7noeR3KkR)5;RImw5ZahJNSWokX1L1D5m9@Z=PG%4p83Z(U~02F_g ztoJbBI&08Go20U%hKq>>U~mT298i%#F4y-U#2Y|3(_(rsL2`JOR!I6-!1Pc}e`@W1 z_=LAf063W+55js={HOKh0q1!g|MByayFYH2lbKYq-&+$y2~ua|i8B+0=7fJva=x^w z^B5`_d@~H7%USo#Im47uiWVAUv*YQ-dh2uA2AHW}__xvTJxB4NDKPLI}&t(7OmuD@vTd>nbt7t!`heaZ8jg!17!JKLafXXjMl9wEoxIA+Z zOCFY_OHa6$uok3{0wPdX5U`bu-iEw0+887iDh(LPRFZKtN9fL^2{%7HD5X0;{pBXy z)^#?AmhL%e1y{_4MMQAZlE2q>i$bcfS#El<>|KAVkIN(bd)IOp*zJ@6GDGnfiH_Q! z1FCmGMPvA5gouh&x;`1~1Txf1GvT?~OcR+vgL!^=+4#>K#Bn6Ox$z@;m-s}5Txbgw z^9O{(md)5f0G}oBA_Qmq(lLW5LomW%Qjqqp4o>lQF7do@E~T>DbW?iUClDS_>yn!SND|uz93j zwiNY~m-I@TE{I%qwrT%5g#a~P8MbZ*BHS=bTMyEFEuRHand_gWB^0N!BKf*$USo}i z8PtJV52hO};YIH+NFwCmPBM~WA}hy1#(-|R5CLOI5KK==q~#_6?AA~cS{R+&({-HeWFnlA64^M~CKz%gXYtvpH?U3bD$OXVb?y zTA})t3ijAdK70`W|9w=hc2_EN#amZThzJX~(HtA$YQa>mwV_v}W*OaE2~iH&0kO1a zcN>q#D%uL$45EHbCfn$$>$9TdOdO7g;>cGjTQD;vlcWQ_4EwZah-!yeN%0*7c>}GC z%29?c@}#s1L@c36wLnNlCSfd6&cu`Ec}0^CSfwgxov^hOMUy$S2urd0$$g*&6QVN(k-qs87z>x0MlSf#aqd^i1-+B`@z z?u&VhBkMd|hN3FU6C>2gbP7O`KLresV0h&~Ai#6p1;Bz25eCa-{J>xJKmi^2z&*W9 znZE7{;Pn%vf8k8R>Q@sE4&~>~s^8Mje0(7J(MI0)-#Gjn;Q{<9Qas++_w;SOgdTY= z>iw?ymO0@2Ej5(Q)zuei7 z&3XM~(P|ZKf0gp14}e)+`NjEu;K>7?^SxYsj&b%S_K00CD1#iT!H zVsusX5A00m-*HspakQOS@Y3`rqcIbcB!*!!g`SB{V@w}%FiH+UmPxs=PTc2|=g1wt zvF>pwqHPoRPsFI8Y-O{ERAKwjP(>r*B_3o*Wrbyhfm}0$bQKF6I%h;Ru_*g-Z>&ce zadZAkKRB{P6Yhx^eSYUMYk`v#C~9n{E}CLTuPn3AdMZU`^Rp3%$Y!h+WVvu0Q>7_I zRO^YVz*+?Mh-=4u+Kp`Pb;T!6t&sE#f!s725j$wdU5)mKPKRSjA^~Sx zi-2O58DYg#N75RZ65bGFCiV>Jm4iSZE5nrHbA=uUm6?7%FEi_D1*3r^$;C_H!)A88 z1K^z1MrLKm6209Y)Zgdy8ixjhxe~;Rp{n%B)24+iN8G|Ys@^nF-l#XvvqyL$992%; z$f#6+TymYdt9m1^dHfTT9<5i?5a{lI|Ni}aR3fo>RMyv4 zFAWD!y^#Z*FJh z9O^%aN)6AMJb2?k3LKLw{BI}xn9M)T_5l!%20OYDCGtLqOgTwgZbM50K$xjz6J$5>-K#fK%+_hl1GE->3fN9iKVESd zq204Bg)lr>RX$jcOSV|qo004?78>mmOvk~*RtbgtsQ}-#wKU-m?Tv4_z~o^*y;zS- z5;j!@nw>tACoiFg7IsU|9tp+r_bR zjzO*v9BVHkDsC8v4m#A%`M9U%BZOQTzsyh8yMY}sZc6G_(>@BkyMHRqEF`w)V(!lF zxt%gETQ69%F*75v)~DWB#SlehzB@d^XlTrkWT4QB6S=`(#Du`l41NHK|~lMXyT@37GY{jUnXi{OlCw*IH z$$if`sni=Ch9jk>&|g^VEuRgJ5=X@;(dS}{y=D3eRYYQuGo{$aCHofJ);ECNM(r^y zOAE}*T#cC_sG?u03V8}AjdxI{^;OCCOUk4wgsUY!*ZD|(N0<|87orD77OSPLL!GHKOiX?s$` zC{L(Y)$biyB4J9Cmt+hiyL|A8e^~YJUAPJE@1Gt|&FgPI`o2@w-vvbao-Pp66#N&q zyi7H(Wlm!KYf2nUvA?TkwRU8_S3Gb3%AeRpY>Oq(0F^lY>L|HKNeR2nLN?(ks0zMo2?zuot-YKF7H}9^<6^=Z!nirq>wttIQ`y&Ad!g)4Y@`;Tbbp_j?lr zJJ^7#qtU;vyFTuF!npO5Ub5Mmzc>FD;bl@t%&?~-XzA%5*F!_Le?i1ZT_HmBr+8K^ zd1Yni4R}1t80C^4DC>?TyiAS%Zf)?;K5XGY6%pw@Em6+MY1mk=S zN);pA2%T_Ri#j)72QW@0fl{6_Wg!Da+5|KNkA)PIfQ-D1o13(yW-&YMwzs`&<{9dk zd-(Al?71Q{`?#Yz8zREZJ}QvyvM_lfx0zKA#VWCYK&-XaGSZGkIvOY-$*PMJfa z;qf?*$+BI+pdvn44w7mbVeIXvLTC*LxI31ad2Gu9a%}zV0f+imz6_N1xutb{zu)io z`)ApMnI)iL2Dty*>_gK1ueWLu(OTw?_)M=yZz$cIGz(V_(yp{QbG2rUP!e{}Swdlj zVSC|5MKNZsk?L9*v&+jx%b5E(cx*V*z2uQPNWY-Ern)-U$W0@pf-QLDp){W#=l%#KXbcgc}p6RUK1eEb#w%pwj z%i!Syr_XK7mR7k_6WRrVORCG<^ej~XR&@r(={9C&l9Srw)WxSr67FfOkBC_I8ErFF zI$nKxP&gn~#dKlr8ovU>Ctw?6$69(ttNXf=Ywy2;XGC;;6OhD0GdPmRUAGjIFrXO5 zwehtp2~WahoQ)`hRHC7MlFgB<>Mdv5ZGj_MF>n*%BZB|u|Myx9&*cQf&G5Q03HUGv5gn4`o z%WqzVHkIfY^Bu)s9xGTi0DXTa)`} zU=LEiZ7cF!h;gZv7Z?p{6tOxq21WKYFcMXbt^E}3GHL@Q}(J& zdC;;+7NQ2fct)QuBoV*POO4#r!+0A|8*p)iwo5$fBRrSza!Ov3)6cc{dZQdPQ*?+l zK3#G5b^m22o3H!%XS^JRlc+xC^B>0Sivzs9eX}$u{=={Zt78osr???Gv7)<9x9b_* z^KpWAzT%!hk_eKaDk(hmlZ{l10gej2M@0K!0@TF$(Sr z{Wjz?y+Ai1sTo$%p5~;v8j!kKI4iT{hYnC3h?EuDdL~NZDXg1rqB`syNF!l<9I+qS zk&ih`cg@M@)@t~LfliBA?_K=sk@6YC{Q21Z;3;-7-!2qAkKnI7DmP3H*PGyaA(+iM z-F$m6^NsbY6-+=rFoyVf$Z zot3C6;04{V^|bg%q10gfAe)eUOm+AoJ?`(Fe!wo%W7SjnL~gQMn$(}SG%ga-|`;Tn8IP zyJdpSyv}Ibj6vmW8Ij)P@}UGk>~MK-8UE%ay(r&K&|t1=6=_8~l5{I->9~=&Rt*+L z)=~s4sy_+nxnsM#?J)Yq71QY2GHutj>c9)qYH4kVgp$ zLjFEDf)Z4_@hYy72^)*2vYjE2TH4H*y(R=OAgL#GrB*SA0qzyO?Za0gc8`?VIIQ60W0~`3vLqfe?`Q=)4TtLDI$~!5h2*C^W@MzZvF%Kp_PGh1A_uih zI#cpi{y}6>;@F*VASCG7=J%Ue!cHYLqHSnik`uG@n6sclJXH zF@@hw5v|NqOP^!zK@mPVO%j>(SY(BsU9XTWDs5WGs5mb7ubCD5QEvBWY#QP2>tt6U z0*}JQDfdLGFX=J{qSEdfdXX_>yO7F~HlWhtLWO$*fV*74?6kpA6mlUou&j=I3OB0L z1~$VOTTUN|r)*M`s5A|(oTbGkA$~Bqc~5__tTDMOusxa|Glc+=QpuycwyhTZ6jZLcpsG)3MSO{4s5r0LXxT7b1WB1xJYogc;yN)b?AMqg(D*9N=hxx8$@YlWJ|PJChmsDLjbxOUJYgGsqMURTZkkb z7Wi>mllZ&ff8OHmr8jGrM*u^ZXXG_-j#w2gepw%@WQUw28>;Ij)cJl@i4pF;GF_rY zmNJm!G@+`wwYF1C;Uzrfm0nCjlbwjsSYiNz>#C$6@N$FGfq~=4!cBy(?N)mb5Zxzwso9dbGAu zIj2l*08)BJgBp`i*SX^;YLR%Bf%A373ZOVWiPo+)+gq0z5t-C3S{0 zrLv@Uq%OG-9!@t}xh;Nj*<|X|w~GymAEdbUOByM~g;DlX9~D)0#HK<<5;ZP8yF^9; zM`NnT4M4bhqp8-NBL8+&p(CwY3~Bnj@>K`JKy`n;V0_Ykgj!Pka z2zgK7+y||RK(ucqkJ7Ja``>x|HS1y$XC0Ha+;pI8SV(YLO+Y4;nv1;Iz=Yepc$2j$ z6tdlsk5&+maekuWWYi`;eMS{ptKEeCsDM*kX2RcP~UB;C1-^!iAr zYln|pyXhjr7L)^Pi{VM(&)qg_u zhpZXL3iGT!3!HqknYjXw=_^0@GiKX#=JT<(Ioxfm92j&}aYRF4eo=`XX|g#K<`a=I z+!3+&{`~7-LBL%p5K;YudZK1jDLBFFL5#*)*eCN@t#nzqQ&;yPQ(bAnp=BQ$%kAR^GnT5%u((wltBp1JS@spkUezO=kX%7 znPZ~U8zrww9HG+sOa3F|m#d8uXU?BAsT?*gv%#Q+N0E)l`a~tSiRT?w%-uzOoXY~J2C3oh9{$HZ9qv;hYiUt%RLWae6OBBy1OCIaa}YHmQ&>dx zK~G}h(lXO0|(nerd?}U-SBX&n3p)Fx-9 zvT-Ae!}lC&R>4fUkYp4I45GDJwooM_E+VoEG9Hrm0~9@B9z$B^^Cli1{VZJBinQwNXcjQ^=}|Qr z0L(CaFozfS92&=NoMfMrNc~gKqHw8+z%vI(gj=p?8;BjRX65>+PPeYKuy{Q0X13As zu;UQ9_Bzrkm6MMMxI~oRzR0?6XSx;630KgEAU^Q8T(*)P+G0UZK6pvWairR4ZiMZ1 z()^g3?(*CPHLVscuDv;gQeQi*y(#9K%7mESQKX_yAi5~`q(pP`ns7{P7&Nr0Y6>Qa zN7CR%mjLZPvna8iJny<@E5SMUd__uS0K;+gfcfl$+>6|`y=rz2nY{Dy>@?g}{Rdv- z{36zwAa+W5)x@R8s@!oz#Ft$CbG&wQEI*gV>GhVtRI(0$p}3UZ(uS5GX-G4k9CO*_ zsagU@=YQ<15=Q_$RZiHcGm%1!Bbd_&vJ7|yoUR7Wzy=2ay_hD%QJv6GeBacf0 zDNSp@uwwSGB15606ox#Q(ZX9FMv@ib;nDFM%1ceih?;|tJ#qt9<=Mmc9`!+(I>HGa zw_;mOaVCZ&0Dt1o1WOay+WqUc7CYvm-k3aJF@}x4D@skTd0q^=f31;mzvyU0p&nxA z!JS)n0;qA5c%79PQ)(41(XalM-_YL103jaTCjR&-I zz5oIr`%^GiqF!W{{}BhvRglG!G5~{BNw}lls7w|P)c(ril!HR)4 zXR9YZ3~F}Htb6uRAU~kT?#$4O9}7e`#c|XE3l;Z0{&A#^rWEJMM4YN_J#%_gko*r+ zpNX`EU6alnneyy)TtUHP_)UTUlt+s0VP>wb+!3EaUlfl)R)F|3Co5IDx!UOb6w?qE#B^DgE5d83Dj) zG)WKH?kocyit7Z%WP&5&yMVBPEL%RvM+V)83RFPRg|K;Wmm9?94<62Igpp@Y{B@_;>42Nc#LU;2g=9__E}sm=RK1}XUO zgg_mH3{uR}if^abbTgfOzd?P8Q1c#=(S168d6UyxVxKgO;ZMXDrHQo!Gv%15Pw&DT zuO5fu)bUE-4CZHYmz_Ape_9Bx&kTdRG|Y%r4qFpQnr3FhK0T9RdBb)-*tBap7Ji_R zX3`+4M=mYm;`+B}I9W>rxmIz3;{ADFp9cglbecBK`eLK;15ouobQsxg!e^;-k97J) z@Wekc$qeyEe+3G(`j>yo{@WZ55F%LC&zkBWM7>u>mfog*j7FiI2M*jOA&T z9sALlpjX0`Va3wzO5=Qh1`l`*+FeA}L)GJ`kQ#Wjo?!@f%{@UV$p?=DFnWkfCzLC2Y0Mj>K@P^c`ynses258

noaU5_+&vOMAqf^qFHckO6?0qwdYe9enilG>})&Q5ZF>q zsu2!z4t~Ps6F$h38WBNfd?F&aO@0U8QNaKMQK4R<#gl}mD?p|7R0LrF8B^nhv_L;1 zflnMdeJ8cKWCL!{2*U~mF-OQkhOB<<2zFBaq3*rRmT_I?Lsbz{^~)B`S#3;la4f?F z6@OUvkM|k0)4lXOGCl`~>x?vbnMZ?PX3fIuVEzL! zB+*nWifD?lhy3w=wZ>_6mq4twB2FclkmW! z9!lqhZ_tgc^k%LP$h0*4;9mXUfp7vO${H{~6+Z87CI?yXJ7&^A;ljrZS(#|)PSFxt zj1PrDcSz#*KqSqBcL3S+>2}v!}*GUg$HAO@y zQ!oN%jLYO-8(Q) z0PQ2F&3DaTQ4JwVw|~Y;MwKC>O2B!rszpR>r?1n{GIbG^QKxZMlLo;5>wo;u@Aunn z;MZC>MB+I`o|JwaFfGytbRYzB&og8dNLVmUv$DduO3-#dv`lP_T_%*}mFZT1@%3Z7pdNn&M*&!y>o|} z=&6_-wbzIb;nE~BG$Eq&NR~w^9SxmynXId2#;VRmR)Cj=N=wqpD0#rUJyB%z!vtV~ zx*~i_06JKBEEbspCUYI)q_BWana^Pn;dPiGS*N5Ky)c1RY(Pn!>SJAYCM!?>W;s0* z8GKUHW7rd$&jVR34e-DxVpk~G0pmeYc$XBy@k{N%2k^kib9AotC*6x7t9k-os1Oll zo=nE$8v&)PUhey>hJ&PX1hPe~*}$ zyn9&X9CFgwu8UN=`2tI~Rfr-i+o~j0(@*l^3wq<^UysjQ$kSVT$r$I$-H8v7AwxQ4 z5RLMcv51)uVF+$`U@t63Htcl92e_o>+SJSdeUSLBhFla0dv6}s&+!PP{IfXRm(aU1 zmy|5Yv@H#2#k4~Cqx8H6mJfBa?c($OuCOwjG03mC494Pua6Zsd|eZQO#Z? zW>hUMY95}VA+e}9sw}-`BP<{=N&^ITr=6xMf79jq>T%kzRYA)NlPd$#G_?5q%jl3H zSUIGXf<$})Q?c_%xfZ}Fm6y;68?>X=i_=lg&L##B*_sxovRY3sK@B31fh%qv1ir*l zNlBu`;s8DHw|M+ySI5Itw6EsCTu<3h(=I^PGXv)%MfaI)pdUQK5Sv`YiU5#@QAN&o zAREnJvho#Qc&KVaujL7r5kTOJi+l^U$Dxq2#FpDC4vEsc#0Vu#bNHi#+=;=+1oJ|+ zZxK_8M`+QZTdj<gz?>dUA3>EKjdp`Yz*`vQV$cV_8$` zz23Dn09{YcdUr`Bk{cz4T2X)?!Vq?1C=T!!@CW?TVt>_~G`n(v-|*FYdhgfHwkRdH z!4(kMjSx`>9DVjlR$*$6!~!2w7XX4VTIOdReJo1P%vlULLz@5Cf?YV6NENJLGU=lx zn}P_7k?Q)E?h@R3bwm~m&0SFa(^UqoVpwY}5#dHxW^d;fCKlkb_Mktc4K=1ynz8My&OTUSdsW|wB}+uPhUs|i$9PoqR>t^L?}fu+MZ$ZtR1p) z#~yj5Nm}#z%z~7pmrOj9@@K)=gelz<2yEAm}cUGxFxn)D>ApzV0%!lOGZTY@$~XqUbLwq>Mq2{-2voGDP-N49hXH< z6HKiW>okYLh%0N-8g90rUKdfXckCwTfy*I~gC_RNq^` z?UfY`0){CT^QpRY`dfsBg;ha5U0xFSS)R>--cKGqkSD3D-cn90@4g7AhgZ5=PPvMK zil;&NH00b{MpLq?QWwV>tu_!TwPX{%IpGLncx#@?e+F-!ZzP$e+yq)ed6pcQ)AYQH z&nx^KBm67NWQfIFyF>hPV$S2Vs1mK}3{W*}4XMY8pzQ=|VHZ9~BYB@}88<%&N#h z@#`o)-R5HcnB)y)z0{`xW!Cbns<{!5G*Wa?s8Tqd7L9ACipU^N%4*u`DB7D+)JYGT zV5D~vo=tpv;NG<_EcfD5U2L*&waS5S{eELCPPLqBOz-iHGNVRfBm{QPaXR2JpwRtA2}-098kI54*0cU$Ty{E2GB6 z`Wr-srjkyM5RJT8LQ-Q9sc;Ed!tCT>9q{l;k^)Bh4aUj|pJF9jR*dPtmIv){%|P4a zS~{5wT4{`O*oSDyu9*-jV)xyFRbG9LY z6(3r-ABQPv;VfvBM0muAu@{%cOB}$P`;+v`=zi@=#94yyVg3q)IC`z!0To!%TAb

1}Gfr_x111-DjHndB&!lZCCJpK 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%0AG0nb)J1qq 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

  • $ITDAY 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 #)lvU?Uv;%uY? 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 with no post-processing effects.* +# Custom post-processing -![Scene with grayscale custom post-processing effect.](../Images/post-proc/custom-effect/grayscale-custom-effect.png) -
    *Scene with grayscale custom post-processing effect.* +The Universal Render Pipeline (URP) provides a variety of pre-built [post-processing effects](../integration-with-post-processing) that you can adjust to create a particular visual effect or style. URP also lets you create custom post-processing effects. -The following page describes how to create a custom post-processing effect using the [Full Screen Pass Renderer Feature](../renderer-features/renderer-feature-full-screen-pass.md). +The following pages describe different approaches to creating custom post-processing effects. -* [How to create a custom post-processing effect](post-processing-custom-effect-low-code.md). \ No newline at end of file +| Page | Description | +|-|-| +| [Create a low-code custom post-processing effect](post-processing-custom-effect-low-code.md) | How to use a Full Screen Render Pass to create a low-code custom post-processing effect. | +| [Full Screen Pass Renderer Feature reference](../renderer-features/renderer-feature-full-screen-pass.md) | Understand the Full Screen Pass Renderer Feature. | +| [Creating a full-screen shader in Shader Graph in URP](../urp-shaders/fullscreen-master-stack-urp.md) | Resources for working with the Fullscreen Master Stack to create full screen shaders in Shader Graph. | +| [Example of a complete Scriptable Renderer Feature](../renderer-features/create-custom-renderer-feature.md) | You can use a custom Renderer Feature with a Volume component support for implementing custom post-processing effects. | diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/post-processing-custom-effect-low-code.md b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/post-processing-custom-effect-low-code.md index 2e8f13040f4..7ac65468bd6 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/post-processing-custom-effect-low-code.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/post-processing-custom-effect-low-code.md @@ -1,14 +1,20 @@ -# How to create a custom post-processing effect +--- +uid: urp-post-processing-custom-effect-low-code +--- -The example on this page shows how to use a Full Screen Render Pass to create a grayscale custom post-processing effect. +# Create a low-code custom post-processing effect in URP + +The example on this page shows how to use the Full Screen Render Pass Renderer Feature to create a grayscale custom post-processing effect. + +For more information on the Full Screen Render Pass Renderer Feature, refer to the [Full Screen Pass Renderer Feature reference](../renderer-features/renderer-feature-full-screen-pass.md). ## Prerequisites This example requires the following: -- A Unity project with the URP package installed. +* A Unity project with the URP package installed. -- The **Scriptable Render Pipeline Settings** property refers to a URP asset (**Project Settings** > **Graphics** > **Scriptable Render Pipeline Settings**). +* The **Scriptable Render Pipeline Settings** property refers to a URP asset (**Project Settings** > **Graphics** > **Scriptable Render Pipeline Settings**). ## Create a Fullscreen Shader Graph @@ -19,9 +25,9 @@ You must create a Fullscreen Shader Graph to create a custom post-processing eff 3. In the **URP Sample Buffer** node's **Source Buffer** dropdown menu, select **BlitSource**. 4. Add a **Vector 3** node. 5. Assign the **Vector 3** node the following values: - - **X** = 0.2126 - - **Y** = 0.7152 - - **Z** = 0.0722 + * **X** = 0.2126 + * **Y** = 0.7152 + * **Z** = 0.0722 6. Add a **Dot Product** node. 7. Connect the nodes as shown below. @@ -41,13 +47,15 @@ You must create a Fullscreen Shader Graph to create a custom post-processing eff Once you've created a compatible Shader Graph and Material, you can use the Material with a Full Screen Pass Renderer Feature to create a custom post-processing effect. -1. In the Project window, select a URP Renderer. -2. In the Inspector, click **Add Renderer Feature** and select **Full Screen Pass Renderer Feature**. For more information on adding Renderer Features refer to [How to add a Renderer Feature to a Renderer](./../urp-renderer-feature-how-to-add.md). -3. Set the **Post Process Material** to the Material you created with the Fullscreen Shader Graph. +1. Select your project's Universal Renderer. + + If you created your project using the **Universal 3D** template, you can find the Universal Renderers in the following project folder: **Assets** > **Settings**. + +2. In the Inspector, click **Add Renderer Feature** and select **Full Screen Pass Renderer Feature**. For more information on adding Renderer Features refer to [How to add a Renderer Feature to a Renderer](../urp-renderer-feature-how-to-add.md). +3. Set the **Pass Material** field to the Material you created with the Fullscreen Shader Graph. 4. Set **Injection Point** to **After Rendering Post Processing**. 5. Set **Requirements** to **Color**. -You should now see the effect in both Scene view and Game view. +You should now notice the effect in both Scene view and Game view. ![Example scene with a grayscale custom post-processing effect.](../Images/post-proc/custom-effect/grayscale-custom-effect.png) -
    *Example scene with a grayscale custom post-processing effect.* diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md index 60fb0ddd76c..520f7f32cad 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md @@ -1,6 +1,22 @@ -# Full Screen Pass Renderer Feature reference +--- +uid: urp-renderer-feature-full-screen-pass +--- -Refer to [How to create a custom post-processing effect](../post-processing/post-processing-custom-effect-low-code.md) for information on how to create a full screen effect using the Full Screen Pass Renderer Feature. +# Full Screen Pass Renderer Feature reference for URP + +The Full Screen Pass Renderer Feature lets you inject full screen render passes at pre-defined injection points to create full screen effects. + +You can use this Renderer Feature to create [custom post-processing effects](../post-processing/custom-post-processing.md). + +## How to use the feature + +To add the Renderer Feature to your scene: + +1. [Add the Full Screen Pass Renderer Feature](../urp-renderer-feature.md) to the URP Renderer. + +Refer to the following page for an example of how to use this feature: + +* [How to create a custom post-processing effect](../post-processing/post-processing-custom-effect-low-code.md). ## Properties diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/alpha.md b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/alpha.md new file mode 100644 index 00000000000..862355ba6e4 --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/alpha.md @@ -0,0 +1,6 @@ + +Alpha +The Material's alpha value. This determines how transparent the material is. The expected range is 0 - 1. +None +1.0 + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/base-color.md b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/base-color.md new file mode 100644 index 00000000000..6ec06ab8abf --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/base-color.md @@ -0,0 +1,6 @@ + +Base Color +The base color of the material. +None +Color.grey + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/eye-depth.md b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/eye-depth.md new file mode 100644 index 00000000000..a1dd6f77cb3 --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/eye-depth.md @@ -0,0 +1,8 @@ + +Eye Depth +Scales a value to world space to represent the depth from the near plane. This value represents a point in world space, determined by the platform you use. For more information, refer to
    The Depth (Z) direction in Shaders. +In Graph Settings:
    +• Enable Depth Write.
    • Set Depth Write Mode to LinearEye. +0 + + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/linear01-depth.md b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/linear01-depth.md new file mode 100644 index 00000000000..846d503088e --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/linear01-depth.md @@ -0,0 +1,8 @@ + +Linear 01 Depth +Uses a linear depth value between 0 and 1. +In Graph Settings:
    +• Enable Depth Write.
    • Set Depth Write Mode to Linear01. +0 + + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/raw-depth.md b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/raw-depth.md new file mode 100644 index 00000000000..e5e31919c0d --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/snippets/shader-graph-blocks/raw-depth.md @@ -0,0 +1,8 @@ + +Raw Depth +Samples the depth value from the depth buffer. You can also use this setting with a nonlinear depth value. +In Graph Settings:
    +• Enable Depth Write.
    • Set Depth Write Mode to Raw. +0 + + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-reference.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-reference.md new file mode 100644 index 00000000000..05d718828c9 --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-reference.md @@ -0,0 +1,100 @@ +--- +uid: um-fullscreen-master-stack-reference +--- + +# Fullscreen Master Stack in Shader Graph reference for URP + +The Fullscreen Master Stack has a variety of properties in the Graph Settings window which control the overall appearance of the Fullscreen shader. + +## Surface Options + +| **Property** | **Description** | +| ------------ | --------------- | +| **Allow Override Material** | Exposes the Graph Settings properties in the Material’s **Surface Options**. **Note:** You can only expose properties that you enable in **Graph Settings.** If you enable one of these properties, you can’t disable it in the Inspector under the Material’s **Surface Options.** | +| **Blend Mode** | Specifies the blend mode to use when Unity renders the full-screen shader. Each option has an equivalent [`BlendMode`](https://docs.unity3d.com/ScriptReference/Rendering.BlendMode.html) operation. **Note**: When you write to a Blit shader, disable this property to avoid undesired effects. | +|     **Alpha** | Uses the shader’s alpha value to control its opacity. `BlendMode` operation: `Blend SrcAlpha OneMinusSrcAlpha` | +|     **Premultiply** | Multiplies the RGB values of the transparent shader by its alpha value, then applies a similar effect to the shader as **Alpha**. `BlendMode` operation: `Blend One OneMinusSrcAlpha` | +|     **Additive** | Adds the color values of the full-screen shader and the Camera output together. `BlendMode` operation: `Blend One One` | +|     **Multiply** | Multiplies the color of the full-screen shader with the color of the Camera’s output. `BlendMode` operation: `Blend DstColor Zero` | +|     **Custom** | Set every parameter of the blending equation manually. For more information, refer to [Custom blend modes](#custom-blend-modes). | +| **Depth Test** | Specifies the function this shader uses to perform the depth test. | +|     **Disabled** | Does not perform a depth test. | +|     **Never** | The depth test never passes. | +|     **Less** | The depth test passes if the pixel's depth value is less than the value stored in the depth buffer. | +|     **Equal** | The depth test passes if the pixel's depth value is equal to the value stored in the depth buffer. | +|     **Less Equal** | The depth test passes if the pixel's depth value is less than or equal to the value stored in the depth buffer. This renders the tested pixel in front of other pixels. | +|     **Greater** | The depth test passes if the pixel's depth value is greater than the value stored in the depth buffer. | +|     **Not Equal** | The depth test passes if the pixel's depth value is not equal to the value stored in the depth buffer. | +|     **Greater Equal** | The depth test passes if the pixel's depth value is greater than or equal to the value stored in the depth buffer. | +|     **Always** | The depth test always passes, and Unity does not compare the pixel's depth value to the value it has stored in the depth buffer. | +| **Depth Write** | Indicates whether Unity writes depth values for GameObjects that use this shader. Enable this property to write the depth value to the depth buffer and use a depth Fragment block. | +| **Depth Write Mode** | Determines the depth value’s input format before Unity passes it to the depth buffer. This property determines which Depth block you can use in the Fragment context. This property appears when you enable **Depth Write**. | +|     **LinearEye** | Converts the depth value into a value scaled to world space. This new value represents the depth (in meters) from the near to the far plane of the Camera. | +|     **Linear01** | Uses a linear depth value range between 0 and 1. | +|     **Raw** | Does not convert the depth buffer value. Use this setting with a nonlinear depth value or when you directly sample the depth value from the depth buffer. | +| **Enable Stencil** | This property gives you control over all stencil fields. Refer to [Stencil properties](#stencil-properties) for information about the options that become available when you enable this property. | +| **Custom Editor GUI** | Accepts the full name of a C# class that inherits [`FullscreenShaderGUI`](https://docs.unity3d.com/Packages/com.unity.shadergraph@14.0/api/UnityEditor.Rendering.Fullscreen.ShaderGraph.FullscreenShaderGUI.html). For information on how to use a custom editor, refer to [ShaderLab: assigning a custom editor](https://docs.unity3d.com/2022.3/Documentation/Manual/SL-CustomEditor.html). | + +## Custom Blend Mode + +Use the **Custom** blend mode to create a blend mode different from those available in [Surface Options](#surface-options). To show these options, set **Blend Mode** to **Custom**. The Custom blend mode properties specify the blending operation to use for this full-screen shader’s alpha and color channels. + +In the blend mode properties, **Src** (source) refers to the full-screen shader itself. **Dst** (destination) refers to the Scene camera’s raw output, which this shader doesn't affect. The blending operation applies the source contents to the destination contents to produce a rendering result. + +For more information on the blending equation, refer to [ShaderLab command: Blend](https://docs.unity3d.com/Manual/SL-Blend.html). + +### Color Blend Mode + +Determines the blending equation Unity uses for the red, green, and blue channels (RGB). Each setting defines one part of the equation. + +| **Property** | **Description** | +| ------------------- | ------------------------------------------------------------ | +| **Src Color** | Sets the blend mode of the source color. | +| **Dst Color** | Sets the blend mode of the destination color. | +| **Color Operation** | Determines how to combine the source and destination color during the blending process. For information on these options refer to [ShaderLab command: BlendOp](https://docs.unity3d.com/Manual/SL-BlendOp.html) | + +### Alpha Blend Mode + +Determines the blending equation Unity uses for the alpha channel. Each setting defines one part of the equation. + +| **Property** | **Description** | +| --------------------- | ------------------------------------------------------------ | +|**Src** | Sets the blend mode of the source alpha. For information on these options, refer to [Valid parameter values](https://docs.unity3d.com/Manual/SL-Blend.html#valid-parameter-values). | +| **Dst** | Sets the blend mode of the destination alpha. For information on these options, refer to [Valid parameter values](https://docs.unity3d.com/Manual/SL-Blend.html). | +| **Blend Operation Alpha** | Determines how to combine the source and destination alpha during the blending process. For more information on these options, refer to [ShaderLab command: BlendOp](https://docs.unity3d.com/Manual/SL-BlendOp.html) | + +## Stencil properties + +These properties affect how this full-screen Shader Graph uses the stencil buffer. For more information on the stencil buffer, refer to [SL-Stencil](https://docs.unity3d.com/Manual/SL-Stencil.html). + +| **Property** | **Description** | +| ------------ | --------------- | +| **Reference** | Determines the stencil reference value this shader uses for all stencil operations. | +| **Read Mask** | Determines which bits this shader can read during the stencil test. | +| **Write Mask** | Determines which bits this shader can write to during the stencil test. | +| **Comparison** | Determines the comparison function this shader uses during the stencil test. | +|     **Disabled** | Does not perform a stencil test. | +|     **Never** | The stencil test never passes. | +|     **Less** | The stencil test passes if the pixel's depth value is less than the value stored in the depth buffer. | +|     **Equal** | The stencil test passes if the pixel's depth value is equal to the value stored in the depth buffer. | +|     **Less Equal** | The stencil test passes if the pixel's depth value is less than or equal to than the depth buffer value. This renders the tested pixel in front of other pixels. | +|     **Greater** | The stencil test passes if the pixel's depth value is greater than the value stored in the depth buffer. | +|     **Not Equal** | The stencil test passes if the pixel's depth value is not equal to the value stored in the depth buffer. | +|     **Greater Equal** | The stencil test passes if the pixel's depth value is greater than or equal to the value stored in the depth buffer. | +|     **Always** | The stencil test always passes, and Unity does not compare the pixel's depth value to the value it has stored in the depth buffer. | +| **Pass** | Determines the operation this shader executes if the stencil test succeeds.
    For more information on this property’s options, refer to [pass and fail options](#stencil-pass-fail). | +| **Fail** | Determines the operation this shader executes if the stencil test fails.
    For more information on this property’s options, refer to [pass and fail options](#stencil-pass-fail). | +| **Depth Fail** | Determines the operation this shader executes if the depth test fails. This option has no effect if the depth test **Comparison** value is **Never** or **Disabled.**
    For more information on this property’s options, refer to [pass and fail options](#stencil-pass-fail). | + +### Pass and Fail options + +| **Option** | **Description** | +| --------------------- | ------------------------------------------------------------ | +| **Keep** | Does not change the current contents of the stencil buffer. | +| **Zero** | Writes a value of 0 into the stencil buffer. | +| **Replace** | Writes the **Reference** value into the buffer. | +| **IncrementSaturate** | Adds a value of 1 to the current value in the buffer. A value of 255 remains 255. | +| **DecrementSaturate** | Subtracts a value of 1 from the current value in the buffer. A value of 0 remains 0. | +| **Invert** | Performs a bitwise NOT operation. This means it negates all the bits of the current value in the buffer.
    For example, a decimal value of 59 is 0011 1011 in binary. The NOT operation reverses each bit to 1100 0100, which is a decimal value of 196. | +| **IncrementWrap** | Adds a value of 1 to the current value in the buffer. A value of 255 becomes 0. | +| **DecrementWrap** | Subtracts a value of 1 from the current value in the buffer. A value of 0 becomes 255. | diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-shader-graph.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-shader-graph.md new file mode 100644 index 00000000000..a69f1bc877a --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-shader-graph.md @@ -0,0 +1,76 @@ +--- +uid: urp-master-stack-fullscreen +--- +# Fullscreen Master Stack reference for Shader Graph in URP + +Use the Fullscreen Master Stack to create a Shader Graph material to apply to the entire screen at the end of the rendering process. You can use this to create custom post-process and custom pass effects. + +![A full-screen shader that applies a raindrop effect to the screen.](../Images/Fullscreen-shader-rain.png) + +## Contexts + +A shader graph contains the following contexts: + +* [Vertex context](#vertex-context) +* [Fragment context](#fragment-context) + +The Fullscreen Master Stack has its own [Graph Settings](fullscreen-master-stack-reference.md) that determine which blocks you can use in the Shader Graph contexts. + +This section contains information on the blocks that this Master Stack material type uses by default, and which blocks you can use to affect the Graph Settings. + +### Vertex context + +The Vertex context represents the vertex stage of this shader. Unity executes any block you connect to this context in the vertex function of this shader. For more information, refer to [Master Stack](https://docs.unity3d.com/Packages/com.unity.shadergraph@14.0/manual/Master-Stack.html). + +Vertex blocks are not compatible with the Fullscreen Master Stack. + +### Fragment context + +The Fragment context represents the fragment (or pixel) stage of this shader. Unity executes any block you connect to this context in the fragment function of this shader. For more information, refer to [Master Stack](https://docs.unity3d.com/Packages/com.unity.shadergraph@14.0/manual/Master-Stack.html). + +### Default + +When you create a new Fullscreen Master Stack, the Fragment context contains the following blocks by default. + + + + + + + + + + + + +[!include[](../snippets/shader-graph-blocks/base-color.md)] +[!include[](../snippets/shader-graph-blocks/alpha.md)] + + +
    PropertyDescriptionSetting DependencyDefault Value
    + +### Relevant + +The following blocks are also compatible with the Fullscreen master stack. + + + + + + + + + + + + +[!include[](../snippets/shader-graph-blocks/eye-depth.md)] +[!include[](../snippets/shader-graph-blocks/linear01-depth.md)] +[!include[](../snippets/shader-graph-blocks/raw-depth.md)] + + +
    PropertyDescriptionSetting DependencyDefault Value
    + +## Fullscreen Master Stack reference + +For more information about the properties available in the Fullscreen Master Stack, refer to the [Master Stack Fullscreen reference for URP](fullscreen-master-stack-reference.md). \ No newline at end of file diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-urp.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-urp.md new file mode 100644 index 00000000000..d4fbe946d86 --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/fullscreen-master-stack-urp.md @@ -0,0 +1,12 @@ +--- +uid: um-fullscreen-master-stack-urp +--- + +# Creating a full-screen shader in Shader Graph in URP + +The Fullscreen Master Stack creates a Shader Graph material to apply to the entire screen in URP. + +| Page | Description | +| ---- | ----------- | +| [Fullscreen Master Stack for Shader Graph](fullscreen-master-stack-shader-graph.md) | Understand the Fullscreen Master Stack available to Shader Graph in URP. | +| [Fullscreen Master Stack in Shader Graph reference](fullscreen-master-stack-reference.md) | Explore the properties of the Fullscreen Master Stack and how to use it to create a full screen shader in Shader Graph. | From cb9517f7285a69816285dea07e79a97138a8891b Mon Sep 17 00:00:00 2001 From: Mark Green Date: Tue, 3 Dec 2024 19:39:19 +0000 Subject: [PATCH 03/30] Graphics docs feedback fixes November 2024 (part 7 - 2022.3 fixes) Part 7 of minor fixes from feedback tickets Jira tickets: - https://jira.unity3d.com/browse/DOCG-5586 - remove incorrect multidisplay info (already removed in U6 docs) - https://jira.unity3d.com/browse/DOCG-4812 - add experimental to VFX blocks (already done in U6 docs) --- .../Documentation~/WaterSystem-use.md | 5 +---- .../Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md | 3 +++ .../Block-VelocityFromDirectionAndSpeed(NewDirection).md | 3 +++ .../Block-VelocityFromDirectionAndSpeed(RandomDirection).md | 3 +++ .../Block-VelocityFromDirectionAndSpeed(Spherical).md | 3 +++ .../Block-VelocityFromDirectionAndSpeed(Tangent).md | 3 +++ .../Documentation~/Operator-PointCache.md | 3 +++ .../Documentation~/Operator-SampleAttributeMap.md | 3 +++ 8 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md index 0f104b2ad62..210d6ad10f4 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md @@ -24,10 +24,7 @@ This is especially important when you upgrade your project from an earlier versi 1. Select a global Volume in your scene, such as the **Sky and Fog Volume**. 2. Click **Add Override**. 3. Select **Lighting** > **Water Rendering**. -4. Set the Water **Enable** property to True. - -![](Images/WaterSystem-EnableTrue.png) - +4. In the **Water Rendering** Volume Override component, set **State** to **Enabled**. This is especially important when you upgrade your project from an earlier version of Unity, because water is inactive by default. If your project originates in HDRP 14 (Unity 2022.2) or later, the water implementation may work even if you only enable it in the **Quality** settings. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md index adf7746ed54..521c89111f9 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md @@ -1,5 +1,8 @@ # Velocity from Direction & Speed (Change Speed) +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Velocity > [Set/Add] Velocity from Direction & Speed (Change Speed)** The **Velocity from Direction And Speed : Change Speed** Block calculates a velocity for the particle based on the direction attribute. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(NewDirection).md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(NewDirection).md index 663e65f8807..1b16ce6c763 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(NewDirection).md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(NewDirection).md @@ -1,5 +1,8 @@ # Velocity from Direction & Speed (New Direction) +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Velocity > [Set/Add] Velocity from Direction & Speed (New Direction)** The **Velocity from Direction And Speed (New Direction)** Block calculates a velocity for the particle based on a blend ratio between a given direction, and the direction attribute. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(RandomDirection).md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(RandomDirection).md index cebf390f063..69da873c2b1 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(RandomDirection).md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(RandomDirection).md @@ -1,5 +1,8 @@ # Velocity from Direction & Speed (Random Direction) +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Velocity > [Set/Add] Velocity from Direction & Speed (Random Direction)** The **Velocity from Direction And Speed (Random Direction)** Block calculates a velocity for the particle based on a blend ratio between a random direction (per-particle), and the direction attribute. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Spherical).md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Spherical).md index 303f16ffbe9..c9c6e5e2616 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Spherical).md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Spherical).md @@ -1,5 +1,8 @@ # Velocity from Direction & Speed (Spherical) +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Velocity > [Set/Add] Velocity from Direction & Speed (Spherical)** The **Velocity from Direction And Speed (Spherical)** Block calculates a velocity for the particle based on a blend ratio between the direction attribute and a spherical vector. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Tangent).md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Tangent).md index a951cf12914..c9e6e6f332d 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Tangent).md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-VelocityFromDirectionAndSpeed(Tangent).md @@ -1,5 +1,8 @@ # Velocity from Direction & Speed (Tangent) +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Velocity > [Set/Add] Velocity from Direction & Speed (Tangent)** The **Velocity from Direction And Speed (Tangent)** Block calculates a velocity for the particle based on a blend ratio between the direction attribute and a tangent vector. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Operator-PointCache.md b/Packages/com.unity.visualeffectgraph/Documentation~/Operator-PointCache.md index e2193371eb2..fbd0d805851 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Operator-PointCache.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Operator-PointCache.md @@ -1,5 +1,8 @@ # Point Cache +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + Menu Path : **Operator > Utility > Point Cache** The **Point Cache** Operator exposes the attribute maps and the point count stored into a [Point Cache asset](point-cache-asset.md). diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Operator-SampleAttributeMap.md b/Packages/com.unity.visualeffectgraph/Documentation~/Operator-SampleAttributeMap.md index 2fbb49b1f47..7599862a42e 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Operator-SampleAttributeMap.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Operator-SampleAttributeMap.md @@ -1,5 +1,8 @@ # Sample Attribute Map +> [!IMPORTANT] +> This feature is experimental. To use this feature, open the **Preferences** window, go to the **Visual Effects** tab, and enable **Experimental Operators/Blocks**. + **Menu Path : Operator > Sampling > Attribute Map** The Sample Attribute Map Operator enables you to sample an [attribute map](point-cache-in-vfx-graph.md#attribute-map) from a [Point Cache](point-cache-in-vfx-graph.md). From df6e673c09e28889850aa6e96f101894b1c6319c Mon Sep 17 00:00:00 2001 From: Mark Green Date: Tue, 3 Dec 2024 19:39:20 +0000 Subject: [PATCH 04/30] DOCG-5291 Fix anchor link to light limit Fix anchor link to light limit in 2022.3 docs Jira ticket: https://jira.unity3d.com/browse/DOCG-5291 --- .../Documentation~/urp-universal-renderer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md index 8ed78c50009..f86efc21761 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md @@ -26,7 +26,7 @@ The following table shows the differences between the Forward and the Deferred R | Feature | Forward | Forward+ | Deferred | |---------|---------|----------|----------| -| Maximum number of real-time lights per object. | 9 | Unlimited. [The per-Camera limit applies](rendering/forward-plus-rendering-path.md). | Unlimited | +| Maximum number of real-time lights per object. | 9 | Unlimited. [The per-Camera limit applies](rendering/forward-plus-rendering-path.md#reduce-build-time). | Unlimited | | Per-pixel normal encoding | No encoding (accurate normal values). | No encoding (accurate normal values). | Two options:
    • Quantization of normals in G-buffer (loss of accuracy, better performance).
    • Octahedron encoding (accurate normals, might have significant performance impact on mobile GPUs).
    For more information, refer to the section [Encoding of normals in G-buffer](rendering/deferred-rendering-path.md#accurate-g-buffer-normals). | | MSAA | Yes | Yes | No | | Vertex lighting | Yes | No | No | From 6e3d7c24e107ec86c814bdf0d013c3103260700e Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 4 Dec 2024 12:41:48 +0000 Subject: [PATCH 05/30] =?UTF-8?q?[Port]=20[2022.3]=20Fix=20for=20avoid=20w?= =?UTF-8?q?arnings=20when=20using=20the=20NormalFromTexture=20node=20in=20?= =?UTF-8?q?Shade=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UUM-90053: Prevent shader warnings when using the NormalFromTexture node in ShaderGraph --- .../Data/Nodes/Artistic/Normal/NormalFromTextureNode.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Artistic/Normal/NormalFromTextureNode.cs b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Artistic/Normal/NormalFromTextureNode.cs index 3e057b02ba1..a9ea64d4887 100644 --- a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Artistic/Normal/NormalFromTextureNode.cs +++ b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Artistic/Normal/NormalFromTextureNode.cs @@ -84,9 +84,9 @@ public void GenerateNodeFunction(FunctionRegistry registry, GenerationMode gener s.AppendLine("$precision2 offsetU = $precision2(UV.x + Offset, UV.y);"); s.AppendLine("$precision2 offsetV = $precision2(UV.x, UV.y + Offset);"); - s.AppendLine("$precision normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV);"); - s.AppendLine("$precision uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU);"); - s.AppendLine("$precision vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV);"); + s.AppendLine("$precision normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;"); + s.AppendLine("$precision uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;"); + s.AppendLine("$precision vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;"); s.AppendLine("$precision3 va = $precision3(1, 0, (uSample - normalSample) * Strength);"); s.AppendLine("$precision3 vb = $precision3(0, 1, (vSample - normalSample) * Strength);"); From 304092b952ee71cb713b5f7d61d484b08a051e4b Mon Sep 17 00:00:00 2001 From: Seungwon Oh Date: Wed, 4 Dec 2024 12:41:49 +0000 Subject: [PATCH 06/30] [Port] [2022.3] [UUM-78038] Fix cascade shadows and distance shadowmask not blending UUM-78038 There were issues where blending would occur further than the maximum distance for cascade shadows and could be broken depending on the camera view. The alpha value of EvalShadow_GetSplitIndex is intended for blending between cascades. This is also used where the last cascade and shadowmask are blended, which is why the blending is not working properly. Modified to blend cascade shadows and shadowmask in the same way as URP. The images below compare the modified HDRP and URP. * Blending of cascade shadows and shadowmask. ![image](https://media.github.cds.internal.unity3d.com/user/1641/files/fb63bbbc-c8fc-410d-ae0f-8dfffa22bcbd) * To visualize the blending, cascade shadows are represented as 0 (black area) and shadowmask as 0.5 (gray area). Blending occurs at the maximum distance of cascade shadows. ![image](https://media.github.cds.internal.unity3d.com/user/1641/files/657f732a-934d-4362-b051-5f8f8ce8785b) Comparison of original HDRP and modified HDRP as the camera distance increases. You can see that the blending works properly regardless of the distance. * Original ![image](https://media.github.cds.internal.unity3d.com/user/1641/files/11e28622-fcc4-468e-be0d-b74f4014cd99) * Modified ![image](https://media.github.cds.internal.unity3d.com/user/1641/files/98b11973-7485-452c-975f-e39034f7721e) --- .../Runtime/Lighting/LightEvaluation.hlsl | 10 +- .../Lighting/Shadow/HDShadowManager.cs | 47 +- .../Lighting/Shadow/HDShadowManager.cs.hlsl | 2 + ..._Shadow_Mask_Directional_Blending.lighting | 66 + ...ow_Mask_Directional_Blending.lighting.meta | 8 + ...2324_Shadow_Mask_Directional_Blending.meta | 8 + ...324_Shadow_Mask_Directional_Blending.unity | 1295 +++++++++++++++++ ...hadow_Mask_Directional_Blending.unity.meta | 7 + .../GeometryMaterial.mat | 276 ++++ .../GeometryMaterial.mat.meta | 8 + .../LightingData.asset | Bin 0 -> 18736 bytes .../LightingData.asset.meta | 8 + .../Lightmap-0_comp_dir.png | Bin 0 -> 114147 bytes .../Lightmap-0_comp_dir.png.meta | 114 ++ .../Lightmap-0_comp_light.exr | Bin 0 -> 403174 bytes .../Lightmap-0_comp_light.exr.meta | 114 ++ .../Lightmap-0_comp_shadowmask.png | Bin 0 -> 4430 bytes .../Lightmap-0_comp_shadowmask.png.meta | 114 ++ .../Scene Settings Profile.asset | 60 + .../Scene Settings Profile.asset.meta | 8 + .../ProjectSettings/EditorBuildSettings.asset | 3 + 21 files changed, 2143 insertions(+), 5 deletions(-) create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_dir.png create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_dir.png.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_light.exr create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_light.exr.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_shadowmask.png create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_shadowmask.png.meta create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Scene Settings Profile.asset create mode 100644 Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Scene Settings Profile.asset.meta diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightEvaluation.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightEvaluation.hlsl index b7dbd8ed50b..975107cd0c9 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightEvaluation.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightEvaluation.hlsl @@ -269,9 +269,6 @@ SHADOW_TYPE EvaluateShadow_Directional( LightLoopContext lightLoopContext, Posit shadow = lightLoopContext.shadowValue; #ifdef SHADOWS_SHADOWMASK - float3 camToPixel = posInput.positionWS - GetPrimaryCameraPosition(); - float distanceCamToPixel2 = dot(camToPixel, camToPixel); - int shadowSplitIndex = lightLoopContext.shadowContext.shadowSplitIndex; if (shadowSplitIndex < 0) { @@ -279,7 +276,12 @@ SHADOW_TYPE EvaluateShadow_Directional( LightLoopContext lightLoopContext, Posit } else if (shadowSplitIndex == int(_CascadeShadowCount) - 1) { - float fade = lightLoopContext.shadowContext.fade; + // float fade = lightLoopContext.shadowContext.fade; + float3 camToPixel = posInput.positionWS - GetPrimaryCameraPosition(); + float distanceCamToPixel2 = dot(camToPixel, camToPixel); + + HDDirectionalShadowData dsd = lightLoopContext.shadowContext.directionalShadowData; + float fade = saturate(distanceCamToPixel2 * dsd.fadeScale + dsd.fadeBias); // In the transition code (both dithering and blend) we use shadow = lerp( shadow, 1.0, fade ) for last transition // mean if we expend the code we have (shadow * (1 - fade) + fade). Here to make transition with shadow mask // we will remove fade and add fade * shadowMask which mean we do a lerp with shadow mask diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs index 3fdaace4c39..4e686b9df1c 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs @@ -98,6 +98,9 @@ unsafe struct HDDirectionalShadowData [HLSLArray(4, typeof(float))] [SurfaceDataAttributes(precision = FieldPrecision.Real)] public fixed float cascadeBorders[4]; + + public float fadeScale; + public float fadeBias; } class HDShadowRequest @@ -789,7 +792,10 @@ unsafe public void PrepareGPUShadowDatas(CullingResults cullResults, HDCamera ca else m_DirectionalShadowData.cascadeDirection = Vector4.zero; - m_DirectionalShadowData.cascadeDirection.w = camera.volumeStack.GetComponent().cascadeShadowSplitCount.value; + HDShadowSettings shadowSettings = camera.volumeStack.GetComponent(); + m_DirectionalShadowData.cascadeDirection.w = shadowSettings.cascadeShadowSplitCount.value; + + GetShadowFadeScaleAndBias(shadowSettings, out m_DirectionalShadowData.fadeScale, out m_DirectionalShadowData.fadeBias); if (m_ShadowRequestCount > 0) { @@ -800,6 +806,45 @@ unsafe public void PrepareGPUShadowDatas(CullingResults cullResults, HDCamera ca } } + void GetShadowFadeScaleAndBias(HDShadowSettings shadowSettings, out float scale, out float bias) + { + float maxShadowDistance = shadowSettings.maxShadowDistance.value; + float maxShadowDistanceSq = maxShadowDistance * maxShadowDistance; + float cascadeBorder; + int splitCount = shadowSettings.cascadeShadowSplitCount.value; + if (splitCount == 4) + cascadeBorder = shadowSettings.cascadeShadowBorder3.value; + else if (splitCount == 3) + cascadeBorder = shadowSettings.cascadeShadowBorder2.value; + else if (splitCount == 2) + cascadeBorder = shadowSettings.cascadeShadowBorder1.value; + else + cascadeBorder = shadowSettings.cascadeShadowBorder0.value; + + GetScaleAndBiasForLinearDistanceFade(maxShadowDistanceSq, cascadeBorder, out scale, out bias); + } + + void GetScaleAndBiasForLinearDistanceFade(float fadeDistance, float border, out float scale, out float bias) + { + // To avoid division from zero + // This values ensure that fade within cascade will be 0 and outside 1 + if (border < 0.0001f) + { + float multiplier = 1000f; // To avoid blending if difference is in fractions + scale = multiplier; + bias = -fadeDistance * multiplier; + return; + } + + border = 1 - border; + border *= border; + + // Fade with distance calculation is just a linear fade from 90% of fade distance to fade distance. 90% arbitrarily chosen but should work well enough. + float distanceFadeNear = border * fadeDistance; + scale = 1.0f / (fadeDistance - distanceFadeNear); + bias = -distanceFadeNear / (fadeDistance - distanceFadeNear); + } + public void PushGlobalParameters(CommandBuffer cmd) { // This code must be in sync with HDShadowContext.hlsl diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs.hlsl index 134ece0fcf1..7b19a0d9dd3 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs.hlsl @@ -11,6 +11,8 @@ struct HDDirectionalShadowData float4 sphereCascades[4]; real4 cascadeDirection; real cascadeBorders[4]; + float fadeScale; + float fadeBias; }; // Generated from UnityEngine.Rendering.HighDefinition.HDShadowData diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting new file mode 100644 index 00000000000..080f3773f3a --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 2324_Shadow_Mask_Directional_Blending + serializedVersion: 6 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 30 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 16 + m_PVRSampleCount: 128 + m_PVREnvironmentSampleCount: 128 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 + m_NumRaysToShootPerTexel: -1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting.meta new file mode 100644 index 00000000000..b8136871cea --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c25c59d729edcba40bd2c4921e309ee6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.meta new file mode 100644 index 00000000000..6c3d557b1fa --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1984282812a713f45b0c95e85c183261 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity new file mode 100644 index 00000000000..3b141e1e39a --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity @@ -0,0 +1,1295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: e77744b3ad5f14e4b95dcd93644cc6d7, + type: 2} + m_LightingSettings: {fileID: 4890085278179872738, guid: c25c59d729edcba40bd2c4921e309ee6, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &164434937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 164434941} + - component: {fileID: 164434940} + - component: {fileID: 164434939} + - component: {fileID: 164434938} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 1 + m_IsActive: 1 +--- !u!65 &164434938 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164434937} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &164434939 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164434937} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7313a93bda592af419185a9a15bb991a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &164434940 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164434937} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &164434941 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164434937} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0.5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 289952001} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &267228352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 267228353} + - component: {fileID: 267228355} + - component: {fileID: 267228354} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &267228353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267228352} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -1.4, y: 0, z: -1.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021937674} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!102 &267228354 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267228352} + m_Text: ' Blending Shadow Mask + + and Cascade Shadows' + m_OffsetZ: 0 + m_CharacterSize: 0.25 + m_LineSpacing: 1 + m_Anchor: 0 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &267228355 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267228352} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &289952000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 289952001} + m_Layer: 0 + m_Name: Geometry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &289952001 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289952000} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1776966065} + - {fileID: 1043512983} + - {fileID: 1640068560} + - {fileID: 164434941} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &905841793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 905841796} + - component: {fileID: 905841795} + - component: {fileID: 905841794} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &905841794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905841793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Intensity: 2 + m_EnableSpotReflector: 1 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 0 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!108 &905841795 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905841793} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 2 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 0.5, y: 0.5} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 6e-45, z: 0, w: 0.0000015517596} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0.5 +--- !u!4 &905841796 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905841793} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.92387956, z: -0.38268343, w: 0} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 45, y: 180, z: 0} +--- !u!1 &957872100 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 957872102} + - component: {fileID: 957872101} + m_Layer: 0 + m_Name: StaticLightingSky + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &957872101 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957872100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Profile: {fileID: 11400000, guid: 37aad87d36c1f0948a40c0ffaba772ac, type: 2} + m_StaticLightingSkyUniqueID: 0 + m_StaticLightingCloudsUniqueID: 0 + m_StaticLightingVolumetricClouds: 0 +--- !u!4 &957872102 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957872100} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1043512979 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1043512983} + - component: {fileID: 1043512982} + - component: {fileID: 1043512981} + - component: {fileID: 1043512980} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 1 + m_IsActive: 1 +--- !u!65 &1043512980 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043512979} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1043512981 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043512979} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7313a93bda592af419185a9a15bb991a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1043512982 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043512979} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1043512983 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043512979} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0.5, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 289952001} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1333523458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1333523459} + - component: {fileID: 1333523461} + - component: {fileID: 1333523460} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1333523459 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333523458} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -3, y: 0, z: -3.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021937674} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!102 &1333523460 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333523458} + m_Text: Cascade Shadows + m_OffsetZ: 0 + m_CharacterSize: 0.25 + m_LineSpacing: 1 + m_Anchor: 0 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1333523461 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333523458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1431081063 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1431081064} + - component: {fileID: 1431081066} + - component: {fileID: 1431081065} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1431081064 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431081063} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 1.2, y: 0, z: 0.39999998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021937674} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!102 &1431081065 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431081063} + m_Text: Shadow Mask + m_OffsetZ: 0 + m_CharacterSize: 0.25 + m_LineSpacing: 1 + m_Anchor: 0 + m_Alignment: 0 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1431081066 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431081063} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1623273628 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1623273629} + - component: {fileID: 1623273630} + m_Layer: 0 + m_Name: Scene Settings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1623273629 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623273628} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1623273630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623273628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IsGlobal: 1 + priority: 0 + blendDistance: 0 + weight: 1 + sharedProfile: {fileID: 11400000, guid: 37aad87d36c1f0948a40c0ffaba772ac, type: 2} +--- !u!1 &1640068556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1640068560} + - component: {fileID: 1640068559} + - component: {fileID: 1640068558} + - component: {fileID: 1640068557} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 1 + m_IsActive: 1 +--- !u!65 &1640068557 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640068556} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1640068558 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640068556} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7313a93bda592af419185a9a15bb991a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1640068559 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640068556} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1640068560 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640068556} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 289952001} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1776966061 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1776966065} + - component: {fileID: 1776966064} + - component: {fileID: 1776966063} + - component: {fileID: 1776966062} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 1 + m_IsActive: 1 +--- !u!64 &1776966062 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776966061} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1776966063 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776966061} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7313a93bda592af419185a9a15bb991a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1776966064 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776966061} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1776966065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776966061} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 289952001} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1780256919 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1132393308280272, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: -1.6 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: 4.61 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -5.41 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0.891802 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.x + value: 0.41207024 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.y + value: 0.16955586 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: -0.07834578 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 49.6 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 21.53 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 9 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!1 &2021937673 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2021937674} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2021937674 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021937673} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1333523459} + - {fileID: 267228353} + - {fileID: 1431081064} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1780256919} + - {fileID: 905841796} + - {fileID: 289952001} + - {fileID: 2021937674} + - {fileID: 1623273629} + - {fileID: 957872102} diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity.meta new file mode 100644 index 00000000000..bbd25169bc5 --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f24d300b30af57d49b18a301c0ff2e1c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat new file mode 100644 index 00000000000..d011ea7fac8 --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat @@ -0,0 +1,276 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: GeometryMaterial + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISABLE_SSR_TRANSPARENT + - _NORMALMAP_TANGENT_SPACE + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 + - _AlphaSrcBlend: 1 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 9 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransmissionMask: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4376528658724994605 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat.meta new file mode 100644 index 00000000000..28d5ffbb8e8 --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/GeometryMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7313a93bda592af419185a9a15bb991a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset new file mode 100644 index 0000000000000000000000000000000000000000..1e558679a25d046f851663a70e8bb8aaa96ffe48 GIT binary patch literal 18736 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 E2A=*m5C8xG literal 0 HcmV?d00001 diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset.meta new file mode 100644 index 00000000000..106f656708a --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/LightingData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e77744b3ad5f14e4b95dcd93644cc6d7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 112000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_dir.png b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..6dfb93901f4752c8a9330b3b191f498cdd85619e GIT binary patch literal 114147 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

    6Y6RZqgMQ27i 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�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%0AiS5)vQ#W}Jwo{)j?iJN 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 z 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

    c#YLMZ4SFSoGq+O_8s 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�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

    9FyDWo5DB?78;> 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

  • !uBQ?`Z7S*Py% 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 literal 0 HcmV?d00001 diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_light.exr.meta b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_light.exr.meta new file mode 100644 index 00000000000..0df0e05a651 --- /dev/null +++ b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_light.exr.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 8b1e98947030115469641b83cc5d138d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 1 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 3 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 6 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_shadowmask.png b/Tests/SRPTests/Projects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2324_Shadow_Mask_Directional_Blending/Lightmap-0_comp_shadowmask.png new file mode 100644 index 0000000000000000000000000000000000000000..031731a600027895833f8da1d74c3e52e94d0fc8 GIT binary patch literal 4430 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 Date: Wed, 4 Dec 2024 12:41:55 +0000 Subject: [PATCH 07/30] [Port] [2022.3] Add clamp to HairAngleWorld to prevent nan from FastASin Jira: [UUM-72279](https://jira.unity3d.com/browse/UUM-72279) As reported in JIRA, the Scene view flickers due to `NaN` output from the hair shader. It is because in `GetHairAngleWorld`, `angles.sinThetaI` can exceed the range [-1, 1] depending on the input hair `normalWS`. (The `L` vector may not be a unit vector in some cases.) * `half3x3 localToWorld = GetLocalFrame(bsdfData.normalWS, bsdfData.hairStrandDirectionWS);` * `half3 L = mul(localL, localToWorld);` I was able to see that this `NaN` problem could happen if both `T` and `L` vectors are a unit vector due to precision. `angles.sinThetaI` can slightly exceed 1.0 so the `FastASin` result will be `NaN` in this case. ![image](https://media.github.cds.internal.unity3d.com/user/3842/files/f49cd338-9620-4d69-84e3-c9248bfb8a87) By explicitly clamping the angles, we can prevent `NaN` output from `FastASin` calculation. --- .../Runtime/Material/Hair/Hair.hlsl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Hair/Hair.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Hair/Hair.hlsl index 2cc336b2982..45df91c7c38 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Hair/Hair.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Hair/Hair.hlsl @@ -601,8 +601,9 @@ void GetHairAngleLocal(float3 wo, float3 wi, inout HairAngle angles) void GetHairAngleWorld(float3 V, float3 L, float3 T, inout HairAngle angles) { - angles.sinThetaO = dot(T, V); - angles.sinThetaI = dot(T, L); + // It might exceed the range [-1, 1], so explicitly clamp here to prevent nan output from FastASin. + angles.sinThetaO = clamp(dot(T, V), -1.0, 1.0); + angles.sinThetaI = clamp(dot(T, L), -1.0, 1.0); float thetaO = FastASin(angles.sinThetaO); float thetaI = FastASin(angles.sinThetaI); From 250b2d083a92629f8209b779846a552622ebc140 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 4 Dec 2024 12:41:56 +0000 Subject: [PATCH 08/30] [Port] [2022.3] [UUM-73947] Added SS Shadow coord transform to TransformWorldToShadowCoord Jira: [UUM-73947](https://jira.unity3d.com/browse/UUM-73947) This PR adds ScreenSpace Shadow coord transform to fix incorrect SS shadow sampling from some shaders, especially for ShaderGraph shaders. URP shaders support a correct SS shadow sampling by directly using `inputData.shadowCoord` which has a cascaded position or a screen position depending on `_MAIN_LIGHT_SHADOWS_SCREEN`. However, since we cannot use vertex output in ShaderGraph, it may be difficult to calculate a correct shadow coord using only `TransformWorldToShadowCoord` unless the user manually adds `_MAIN_LIGHT_SHADOWS_SCREEN` check if SS Shadow is enabled. | Before | After | | -- | -- | |![Before](https://media.github.cds.internal.unity3d.com/user/3842/files/abd5c548-74af-4fe0-82fc-2e3590f74758)|![After](https://media.github.cds.internal.unity3d.com/user/3842/files/5c80bc48-fcd8-41cb-9cb6-2402d4aa5146)| --- .../ShaderLibrary/Shadows.hlsl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl index 68342dc0e24..83ad5a0565a 100644 --- a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl +++ b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl @@ -318,15 +318,18 @@ half ComputeCascadeIndex(float3 positionWS) float4 TransformWorldToShadowCoord(float3 positionWS) { -#ifdef _MAIN_LIGHT_SHADOWS_CASCADE - half cascadeIndex = ComputeCascadeIndex(positionWS); +#if defined(_MAIN_LIGHT_SHADOWS_SCREEN) && !defined(_SURFACE_TYPE_TRANSPARENT) + float4 shadowCoord = float4(ComputeNormalizedDeviceCoordinatesWithZ(positionWS, GetWorldToHClipMatrix()), 1.0); #else - half cascadeIndex = half(0.0); + #ifdef _MAIN_LIGHT_SHADOWS_CASCADE + half cascadeIndex = ComputeCascadeIndex(positionWS); + #else + half cascadeIndex = half(0.0); + #endif + + float4 shadowCoord = float4(mul(_MainLightWorldToShadow[cascadeIndex], float4(positionWS, 1.0)).xyz, 0.0); #endif - - float4 shadowCoord = mul(_MainLightWorldToShadow[cascadeIndex], float4(positionWS, 1.0)); - - return float4(shadowCoord.xyz, 0); + return shadowCoord; } half MainLightRealtimeShadow(float4 shadowCoord) From f94dc0a83b88811047a30b19cdab7f9af825f763 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Thu, 5 Dec 2024 15:13:11 +0000 Subject: [PATCH 09/30] [Port] [2022.3] [VFX/Particle] DrawMeshNow artifact on M1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix Graphics Corruption on Silicon Device which can generates artifact in every single Unity rendering. ![image](https://media.github.cds.internal.unity3d.com/user/42/files/3d4b4fcb-aa19-48c7-bfdb-910439677f6f) The problem was due to an unexpected call from `Graphics.DrawMeshNow` while *not* being within a Repaint event (see also this [OnSceneGUI documentation](https://docs.unity3d.com/ScriptReference/Editor.OnSceneGUI.html)) - Issue with while rendering mesh in wireframe with mesh module in ParticleSystem, initial repro 🔽 https://media.github.cds.internal.unity3d.com/user/42/files/45a4c51e-b236-4c3a-907a-5610c5e7b55b - Found a repro of the wrong DrawHull in HDRP (this is a theoretical repro, I tested on windows) 🔽 https://media.github.cds.internal.unity3d.com/user/42/files/9057b6d4-c8b4-481e-9421-783e16cbbb6f - Checked other usage of DrawMeshNow in VFX - With DrawCurve ✅ ![image](https://media.github.cds.internal.unity3d.com/user/42/files/e739a750-9615-463b-81c2-7fa40a96396c) - With Draw Context Border ✅ ![image](https://media.github.cds.internal.unity3d.com/user/42/files/503aca84-4e6f-4c28-bc8d-b08ec66899ff) - With Gizmo rendering `Graphics.DrawMeshNow`, we can trust the `EventType.Repaint` https://github.cds.internal.unity3d.com/unity/unity/blob/eaea05a25d195f7c6e58128434cc9a5130ef3b91/Packages/com.unity.visualeffectgraph/Editor/Gizmo/VFXGizmo.cs#L88 --- .../Editor/Gizmo/HierarchicalSphere.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Packages/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalSphere.cs b/Packages/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalSphere.cs index 75bb33fb7c9..5aabac07689 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalSphere.cs +++ b/Packages/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalSphere.cs @@ -118,6 +118,9 @@ public HierarchicalSphere(Color baseColor, HierarchicalSphere parent = null) /// If true, also draw the surface of the hull's sphere public void DrawHull(bool filled) { + if (Event.current.type != EventType.Repaint) + return; + Color wireframeColor = m_HandleColor; wireframeColor.a = 0.8f; using (new Handles.DrawingScope(m_WireframeColor, Matrix4x4.TRS((Vector3)Handles.matrix.GetColumn(3) + center, Quaternion.identity, Vector3.one))) From daa32266ff05e8abd9eab3dd603fdff5cb44162c Mon Sep 17 00:00:00 2001 From: Esmeralda Salamone Date: Mon, 9 Dec 2024 12:43:25 +0000 Subject: [PATCH 10/30] [2022][ShaderGraph] Fix for identifier name conflicts with underscore prefix. Our resolution for name conflicts couldn't handle biasing for conflicts where an underscore was already present. Under some circumstances it could allow identifiers to conflict with unity macros (such as `_Weight`) or result in double underscore (such as `__Weight`); the double underscore is reserved in some environments and therefore invalid for userspace. --- .../Editor/Data/Implementation/NodeUtils.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Packages/com.unity.shadergraph/Editor/Data/Implementation/NodeUtils.cs b/Packages/com.unity.shadergraph/Editor/Data/Implementation/NodeUtils.cs index c991627d152..19f84024d25 100644 --- a/Packages/com.unity.shadergraph/Editor/Data/Implementation/NodeUtils.cs +++ b/Packages/com.unity.shadergraph/Editor/Data/Implementation/NodeUtils.cs @@ -801,7 +801,8 @@ public static string GetHLSLSafeName(string input) static HashSet m_ShaderGraphKeywords = new HashSet() { - "Gradient", + "_Weight", + "Gradient", "UnitySamplerState", "UnityTexture2D", "UnityTexture2DArray", @@ -848,9 +849,13 @@ public static string ConvertToValidHLSLIdentifier(string originalId, Func Date: Mon, 9 Dec 2024 12:43:30 +0000 Subject: [PATCH 11/30] [Backport 2022.3][UUM-83351] Fix clear flags when post processing is used and fix renderer features Fix UUM-86922 UUM-83351 --- .../Runtime/2D/Renderer2D.cs | 23 ++++++++++++++--- .../Runtime/Passes/PostProcessPass.cs | 25 ------------------- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs index 4e65e7cf42b..8cb1b34b966 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs @@ -383,6 +383,11 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re bool hasPassesAfterPostProcessing = activeRenderPassQueue.Find(x => x.renderPassEvent == RenderPassEvent.AfterRenderingPostProcessing) != null; bool needsColorEncoding = DebugHandler == null || !DebugHandler.HDRDebugViewIsActive(ref cameraData); + // Don't resolve during post processing if there are passes after or pixel perfect camera is used + bool pixelPerfectCameraEnabled = ppc != null && ppc.enabled; + bool hasCaptureActions = cameraData.captureActions != null && lastCameraInStack; + bool resolvePostProcessingToCameraTarget = !hasCaptureActions && !hasPassesAfterPostProcessing && !requireFinalPostProcessPass && !pixelPerfectCameraEnabled; + if (hasPostProcess) { var desc = PostProcessPass.GetCompatibleDescriptor(cameraTargetDescriptor, cameraTargetDescriptor.width, cameraTargetDescriptor.height, cameraTargetDescriptor.graphicsFormat, DepthBits.None); @@ -391,9 +396,10 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re postProcessPass.Setup( cameraTargetDescriptor, colorTargetHandle, - afterPostProcessColorHandle, + resolvePostProcessingToCameraTarget, depthTargetHandle, colorGradingLutHandle, + null, requireFinalPostProcessPass, afterPostProcessColorHandle.nameID == k_CameraTarget.nameID && needsColorEncoding); @@ -402,7 +408,7 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re RTHandle finalTargetHandle = colorTargetHandle; - if (ppc != null && ppc.enabled && ppc.cropFrame != PixelPerfectCamera.CropFrame.None) + if (pixelPerfectCameraEnabled && ppc.cropFrame != PixelPerfectCamera.CropFrame.None) { EnqueuePass(m_PixelPerfectBackgroundPass); @@ -422,7 +428,18 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re finalPostProcessPass.SetupFinalPass(finalTargetHandle, hasPassesAfterPostProcessing, needsColorEncoding); EnqueuePass(finalPostProcessPass); } - else if (lastCameraInStack && finalTargetHandle != k_CameraTarget) + + // If post-processing then we already resolved to camera target while doing post. + // Also only do final blit if camera is not rendering to RT. + bool cameraTargetResolved = + // final PP always blit to camera target + requireFinalPostProcessPass || + // no final PP but we have PP stack. In that case it blit unless there are render pass after PP or pixel perfect camera is used + (hasPostProcess && !hasPassesAfterPostProcessing && !hasCaptureActions && !pixelPerfectCameraEnabled) || + // offscreen camera rendering to a texture, we don't need a blit pass to resolve to screen + colorTargetHandle.nameID == k_CameraTarget.nameID; + + if (!cameraTargetResolved) { m_FinalBlitPass.Setup(cameraTargetDescriptor, finalTargetHandle); EnqueuePass(m_FinalBlitPass); diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs index d9635acc256..7b47c8fce28 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs @@ -241,31 +241,6 @@ public void Setup(in RenderTextureDescriptor baseDescriptor, in RTHandle source, m_UseSwapBuffer = true; } - /// - /// Configures the pass. - /// - /// - /// - /// - /// - /// - /// - /// - public void Setup(in RenderTextureDescriptor baseDescriptor, in RTHandle source, RTHandle destination, in RTHandle depth, in RTHandle internalLut, bool hasFinalPass, bool enableColorEncoding) - { - m_Descriptor = baseDescriptor; - m_Descriptor.useMipMap = false; - m_Descriptor.autoGenerateMips = false; - m_Source = source; - m_Destination = destination; - m_Depth = depth; - m_InternalLut = internalLut; - m_IsFinalPass = false; - m_HasFinalPass = hasFinalPass; - m_EnableColorEncodingIfNeeded = enableColorEncoding; - m_UseSwapBuffer = true; - } - /// /// Configures the Final pass. /// From 490bf09a0e32220b2dcdca6132d55a1a94cddc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Slysz?= Date: Wed, 18 Dec 2024 00:21:55 +0000 Subject: [PATCH 12/30] [Port] [2022.3] Prevent URP creation from UniversalCameraAdditionalData.OnDestroy Fix error in Dedicated Server [UUM-75237](https://jira.unity3d.com/browse/UUM-75237) What happened is that when destroying a UniversalCameraAdditionalData, in order to clear the buffer, the code was actually constructing the URP pipeline in case the pipeline was null. Fix do the same without trying to construct the pipeline if it is not constructed (aka multiple pipeline scenario or headless server). --- .../Data/UniversalRenderPipelineAsset.cs | 5 ++++ .../Runtime/UniversalAdditionalCameraData.cs | 23 +++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.cs b/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.cs index a1f18ef1f1e..7ed5103ddd4 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.cs @@ -591,6 +591,11 @@ public partial class UniversalRenderPipelineAsset : RenderPipelineAsset, ISerial /// The default value of `additionalLightsShadowResolutionTierHigh`. /// public static readonly int AdditionalLightsDefaultShadowResolutionTierHigh = 1024; + + /// + /// The list of renderers used by this pipeline asset. + /// + internal ReadOnlySpan renderers => m_Renderers; #if UNITY_EDITOR [NonSerialized] diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/UniversalAdditionalCameraData.cs b/Packages/com.unity.render-pipelines.universal/Runtime/UniversalAdditionalCameraData.cs index e47a7606b15..0680fe05b89 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/UniversalAdditionalCameraData.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/UniversalAdditionalCameraData.cs @@ -818,10 +818,29 @@ public void OnDrawGizmos() /// public void OnDestroy() { - if (camera.cameraType != CameraType.SceneView ) - scriptableRenderer?.ReleaseRenderTargets(); + //You cannot call scriptableRenderer here. If you where not in URP, this will actually create the renderer. + //This can occurs in cross pipeline but also on Dedicated Server where the gfx device do not run. (UUM-75237) + //Use GetRawRenderer() instead. + m_Camera.DestroyVolumeStack(this); + if (camera.cameraType != CameraType.SceneView) + GetRawRenderer()?.ReleaseRenderTargets(); m_TaaPersistentData?.DeallocateTargets(); } + + ScriptableRenderer GetRawRenderer() + { + if (UniversalRenderPipeline.asset is null) + return null; + + ReadOnlySpan renderers = UniversalRenderPipeline.asset.renderers; + if (renderers == null || renderers.IsEmpty) + return null; + + if (m_RendererIndex >= renderers.Length || m_RendererIndex < 0) + return null; + + return renderers[m_RendererIndex]; + } } } From e679f66255e6b08945caa5ade3bd06d2b7ccb022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Leli=C3=A8vre?= Date: Thu, 19 Dec 2024 13:19:37 +0000 Subject: [PATCH 13/30] Backport 55248 This is an almost automated backport based on https://github.cds.internal.unity3d.com/unity/unity/pull/55248 for branch 2022.3/staging requested by [antoinel@unity3d.com](mailto:antoinel@unity3d.com). This backport was created by [Backport Automation](https://backports.ds.unity3d.com/). Make sure that changes are correct! --- .../RenderPass/CustomPass/CustomPass.cs | 4 +++- .../RenderPass/CustomPass/CustomPassContext.cs | 7 ++++++- .../RenderPass/CustomPass/CustomPassUtils.cs | 15 +++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs index 336a7c3130d..96014484f1f 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs @@ -177,6 +177,7 @@ class ExecutePassData public CullingResults cullingResult; public CullingResults cameraCullingResult; public HDCamera hdCamera; + public ShaderVariablesGlobal shaderVariablesGlobal; } RenderTargets ReadRenderTargets(in RenderGraphBuilder builder, in RenderTargets targets) @@ -218,6 +219,7 @@ virtual internal void ExecuteInternal(RenderGraph renderGraph, HDCamera hdCamera passData.cullingResult = cullingResult; passData.cameraCullingResult = cameraCullingResult; passData.hdCamera = hdCamera; + passData.shaderVariablesGlobal = HDRenderPipeline.currentPipeline.GetShaderVariablesGlobalCB(); this.currentRenderTarget = ReadRenderTargets(builder, targets); @@ -262,7 +264,7 @@ virtual internal void ExecuteInternal(RenderGraph renderGraph, HDCamera hdCamera customPass.currentRenderTarget.customColorBuffer, customPass.currentRenderTarget.customDepthBuffer, ctx.renderGraphPool.GetTempMaterialPropertyBlock(), - customPass.injectionPoint + customPass.injectionPoint, data.shaderVariablesGlobal ); customPass.isExecuting = true; diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassContext.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassContext.cs index 108654238cd..9199c662614 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassContext.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassContext.cs @@ -68,6 +68,10 @@ public struct CustomPassContext public readonly MaterialPropertyBlock propertyBlock; internal readonly CustomPassInjectionPoint injectionPoint; + // This represent the state of HDRP globals at the point of recording the custom passes. + // Using GetShaderVariablesGlobals() from HDRP inside the execute of the custom pass would give invalid result + // because the execute of custom passes is called during the render graph execution, after the recording of all passes. + internal readonly ShaderVariablesGlobal currentGlobalState; internal CustomPassContext( ScriptableRenderContext renderContext, CommandBuffer cmd, @@ -77,7 +81,7 @@ internal CustomPassContext( RTHandle cameraNormalBuffer, RTHandle cameraMotionVectorsBuffer, Lazy customColorBuffer, Lazy customDepthBuffer, MaterialPropertyBlock propertyBlock, - CustomPassInjectionPoint injectionPoint) + CustomPassInjectionPoint injectionPoint, ShaderVariablesGlobal currentGlobalState) { this.renderContext = renderContext; this.cmd = cmd; @@ -92,6 +96,7 @@ internal CustomPassContext( this.customDepthBuffer = customDepthBuffer; this.propertyBlock = propertyBlock; this.injectionPoint = injectionPoint; + this.currentGlobalState = currentGlobalState; } } } diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassUtils.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassUtils.cs index 1ad072cf991..81046b8a398 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassUtils.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassUtils.cs @@ -727,7 +727,8 @@ public struct OverrideCameraRendering : IDisposable HDCamera overrideHDCamera; float originalAspect; - static Stack overrideCameraStack = new Stack(); + static Stack overrideCameraStack = new(); + static Stack overrideGlobalVariablesStack = new(); /// /// Overrides the current camera, changing all the matrices and view parameters for the new one. @@ -817,12 +818,13 @@ void Init(CustomPassContext ctx, Camera overrideCamera, float overrideAspectRati overrideHDCamera.Update(overrideHDCamera.frameSettings, hdrp, XRSystem.emptyPass, allocateHistoryBuffers: false); // Reset the reference size as it could have been changed by the override camera ctx.hdCamera.SetReferenceSize(); - var globalCB = hdrp.GetShaderVariablesGlobalCB(); + var globalCB = ctx.currentGlobalState; overrideHDCamera.UpdateShaderVariablesGlobalCB(ref globalCB); ConstantBuffer.PushGlobal(ctx.cmd, globalCB, HDShaderIDs._ShaderVariablesGlobal); overrideCameraStack.Push(overrideHDCamera); + overrideGlobalVariablesStack.Push(globalCB); } static bool IsContextValid(CustomPassContext ctx, Camera overrideCamera) @@ -848,22 +850,23 @@ void IDisposable.Dispose() overrideCamera.aspect = originalAspect; // Set back the settings of the previous camera - var globalCB = HDRenderPipeline.currentPipeline.GetShaderVariablesGlobalCB(); overrideCameraStack.Pop(); if (overrideCameraStack.Count > 0) { var previousHDCamera = overrideCameraStack.Peek(); previousHDCamera.SetReferenceSize(); - previousHDCamera.UpdateShaderVariablesGlobalCB(ref globalCB); } else // If we don't have any nested override camera, then we go back to the original one. { // Reset the reference size as it could have been changed by the override camera ctx.hdCamera.SetReferenceSize(); - ctx.hdCamera.UpdateShaderVariablesGlobalCB(ref globalCB); } - ConstantBuffer.PushGlobal(ctx.cmd, globalCB, HDShaderIDs._ShaderVariablesGlobal); + overrideGlobalVariablesStack.Pop(); + if (overrideGlobalVariablesStack.Count > 0) + ConstantBuffer.PushGlobal(ctx.cmd, overrideGlobalVariablesStack.Peek(), HDShaderIDs._ShaderVariablesGlobal); + else + ConstantBuffer.PushGlobal(ctx.cmd, ctx.currentGlobalState, HDShaderIDs._ShaderVariablesGlobal); } } From 0f630de0bece473324fa52885f1d8bac17d38c1c Mon Sep 17 00:00:00 2001 From: Mark Green Date: Thu, 19 Dec 2024 13:19:37 +0000 Subject: [PATCH 14/30] [Backport] [2022.3] Backport Nov 2024 graphics feedback fixes to 2022.3 Backport fixes from the following PRs: - https://github.cds.internal.unity3d.com/unity/unity/pull/57104 - https://github.cds.internal.unity3d.com/unity/unity/pull/57144 - https://github.cds.internal.unity3d.com/unity/unity/pull/57377 - https://github.cds.internal.unity3d.com/unity/unity/pull/57397 - https://github.cds.internal.unity3d.com/unity/unity/pull/57449 - https://github.cds.internal.unity3d.com/unity/unity/pull/57488 - https://github.cds.internal.unity3d.com/unity/unity/pull/57532 - https://github.cds.internal.unity3d.com/unity/unity/pull/57161 - https://github.cds.internal.unity3d.com/unity/unity/pull/57564 --- .../render-graph-writing-a-render-pipeline.md | 6 +++++- .../Documentation~/AOVs.md | 2 +- .../Documentation~/Default-Settings-Window.md | 6 ++---- .../Forward-And-Deferred-Rendering.md | 2 +- .../Documentation~/Frame-Settings.md | 2 -- .../Documentation~/Override-Contact-Shadows.md | 2 -- .../Documentation~/Override-Micro-Shadows.md | 4 +++- .../Override-Volumetric-Clouds.md | 3 ++- .../Documentation~/System-Requirements.md | 2 -- .../Documentation~/VR-Overview.md | 2 +- .../Documentation~/WaterSystem-use.md | 2 +- .../Documentation~/fullscreen-shader.md | 2 +- .../Documentation~/probevolumes-use.md | 6 +++--- .../Images/rendering-debugger-play-mode.jpg | Bin 0 -> 84871 bytes .../Documentation~/Lights-2D-intro.md | 2 +- .../customize/inject-render-pass-via-script.md | 1 + .../features/rendering-debugger.md | 2 ++ .../Documentation~/post-processing-ssao.md | 2 +- .../Documentation~/urp-universal-renderer.md | 2 +- .../Documentation~/Properties.md | 2 ++ 20 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/Images/rendering-debugger-play-mode.jpg diff --git a/Packages/com.unity.render-pipelines.core/Documentation~/render-graph-writing-a-render-pipeline.md b/Packages/com.unity.render-pipelines.core/Documentation~/render-graph-writing-a-render-pipeline.md index 4d3ede8ac0b..eb48ea8c003 100644 --- a/Packages/com.unity.render-pipelines.core/Documentation~/render-graph-writing-a-render-pipeline.md +++ b/Packages/com.unity.render-pipelines.core/Documentation~/render-graph-writing-a-render-pipeline.md @@ -7,6 +7,7 @@ This page covers the process of how to use the RenderGraph API to write a render To begin, your render pipeline needs to maintain at least one instance of [RenderGraph](../api/UnityEngine.Experimental.Rendering.RenderGraphModule.RenderGraph.html). This is the main entry point for the API. You can use more than one instance of a render graph, but be aware that Unity does not share resources across `RenderGraph` instances so for optimal memory usage, only use one instance. ```c# +using UnityEngine.Rendering; using UnityEngine.Experimental.Rendering.RenderGraphModule; public class MyRenderPipeline : RenderPipeline @@ -21,8 +22,11 @@ public class MyRenderPipeline : RenderPipeline void CleanupRenderGraph() { m_RenderGraph.Cleanup(); - m_RenderGraph = null; + m_RenderGraph = null; } + + ... + } ``` diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/AOVs.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/AOVs.md index 69cef847aab..f273c7eb665 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/AOVs.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/AOVs.md @@ -42,7 +42,7 @@ You can use AOVs to output the contribution from a selected list of [Lights](Lig ## Custom Pass AOVs Finally, you can use AOVs to output the results of [custom passes](Custom-Pass.md). In particular, you can output the cumulative results of all custom passes that are active on every custom pass injection point. This can be useful to output arbitrary information that custom passes compute, such as the Object ID of the Scene GameObjects. -## Rendering Precission +## Rendering precision By default AOVs are rendering at the precision and format selected in the HDRP asset. If the AOVRequest is configured with *SetOverrideRenderFormat* option set to true, then rendering will use the same precision as the user allocated AOV output buffer. ## Scripting API example diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md index 34cb9c93aac..401a5457db7 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md @@ -15,7 +15,7 @@ You can use the **Volume Profiles** section to assign and edit a [Volume Profile The **Default Volume Profile Asset** (A) references a Volume Profile in the HDRP package folder called `DefaultSettingsVolumeProfile` by default. Below it, you can add [Volume overrides](Volume-Components.md), and edit their properties. You can assign your own Volume Profile to this property field. Be aware that this property must always reference a Volume Profile. If you assign your own Volume Profile and then delete it, HDRP automatically re-assigns the `DefaultSettingsVolumeProfile` from the HDRP package folder. -The **LookDev Volume Profile Asset** (B) references the Volume Profile HDRP uses in the [LookDev window](Look-Dev.md). This Asset works in almost the same way as the Default Volume Profile Asset, except that it overrides [Visual Environment Components](Override-Visual-Environment.md) and sky components.![](Images/HDRPgs_Volume_Profiles.png) +The **LookDev Volume Profile Asset** (B) references the Volume Profile HDRP uses in the [LookDev window](Look-Dev.md). This Asset works in almost the same way as the Default Volume Profile Asset, except it overrides [Visual Environment Components](Override-Visual-Environment.md) and sky components. ## Frame Settings (Default Values) @@ -36,8 +36,6 @@ Use this section to select which custom post processing effect HDRP uses in the HDRP provides one list for each post processing injection point. See the [Custom Post Process](Custom-Post-Process.md) documentation for more details. -![](Images/HDRPgs_Custom_PP.png) - ## Miscellaneous | **Property** | **Description** | @@ -54,7 +52,7 @@ HDRP provides one list for each post processing injection point. See the [Custom | **Property** | **Description** | | --------------------------| ------------------------------------------------------------ | | Shader Variant Log Level | Use the drop-down to select what information HDRP logs about Shader variants when you build your Unity Project. • Disabled: HDRP doesn’t log any Shader variant information.• Only SRP Shaders: Only log Shader variant information for HDRP Shaders.• All Shaders: Log Shader variant information for every Shader type. | -| Export Shader Variants | Controls whether to output shader variant information to a file. | +| Export Shader Variants | Controls whether to output shader variant information to a file. Unity saves the information to the folder with your project files, in `Temp/graphics-settings-stripping.json` and `Temp/shader-stripping.json`. | ## Resources diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Forward-And-Deferred-Rendering.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Forward-And-Deferred-Rendering.md index c1f43ecdf8f..de7b90bc3cf 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Forward-And-Deferred-Rendering.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Forward-And-Deferred-Rendering.md @@ -53,7 +53,7 @@ Forward and Deferred rendering both implement the same features, but the quality ## Differences between Forward and Deferred rendering in HDRP -| **Feature** | **Forward Rendering** | **Defferred** | +| **Feature** | **Forward Rendering** | **Deferred** | |---|---|---| | **Normal shadow bias** | HDRP uses the geometric normal (the vertex normal) of the Material for shadow bias, so Forward Rendering produces fewer shadow artifacts. | HDRP uses the pixel normal of the Material for shadow bias, so Deferred Rendering produces more shadow artifacts. | | **Emissive Color** | Ambient Occlusion doesn't affect Emissive Color. | Ambient Occlusion affects Emissive Color due to technical constraints. | diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md index 917a2984a31..ff64b182b28 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md @@ -2,8 +2,6 @@ Frame Settings are settings HDRP uses to render Cameras, real-time, baked, and custom reflections. You can set the default values for Frame Settings for each of these three individually from within the [HDRP Global Settings](Default-Settings-Window.md) tab (menu: **Edit** > **Project Settings** > **Graphics** > **HDRP Global Settings**). -![](Images/FrameSettings1.png) - To make Cameras and Reflection Probes use their respective default values for Frame Settings, disable the **Custom Frame Settings** checkbox under the **General** settings of Cameras or under **Capture Settings** of Reflection Probes. You can override the default value of a Frame Setting on a per component basis. Enable the **Custom Frame Settings** checkbox to set specific Frame Settings for individual Cameras and Reflection Probes. This exposes the Frame Settings Override which gives you access to the same settings as within the HDRP Global Settings. Edit the settings within the Frame Settings Override to create a Frame Settings profile for an individual component. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md index 33be56f0059..54afb583254 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md @@ -19,8 +19,6 @@ The property to enable in your Frame Settings is: **Lighting > Contact Shadows** You can enable Contact Shadows on a per Light basis for Directional, Point, and Spot Lights. Tick the **Enable** checkbox under the **Contact Shadows** drop-down in the **Shadows** section of each Light to indicate that HDRP should calculate Contact Shadows for that Light. -Only one Light can cast Contact Shadows at a time. This means that, if you have more than one Light that casts Contact Shadows visible on the screen, only the dominant Light renders Contact Shadows. HDRP chooses the dominant Light using the screen space size of the Light’s bounding box. A Directional Light that casts Contact Shadows is always the dominant Light. - **Note**: A Light casts Contact Shadows for every Mesh Renderer that uses a Material that writes to the depth buffer. This is regardless of whether you enable or disable the **Cast Shadows** property on the Mesh Renderer. This means that you can disable **Cast Shadows** on small GameObjects/props and still have them cast Contact Shadows. This is good if you do not want HDRP to render these GameObjects in shadow maps. If you do not want this behavior, use Shader Graph to author a Material that does not write to the depth buffer. [!include[](snippets/volume-override-api.md)] diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Micro-Shadows.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Micro-Shadows.md index d9e07165821..e857aa6a10c 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Micro-Shadows.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Micro-Shadows.md @@ -1,6 +1,8 @@ # Micro Shadows -Micro shadows are shadows that the High Definition Render Pipeline (HDRP) simulates for small details embedded in the Material of a GameObject, but not in its Mesh geometry. HDRP uses the details from the normal map and the ambient occlusion map to estimate the shadows those maps would cast if they were Meshes. +Micro shadows are shadows that the High Definition Render Pipeline (HDRP) simulates for small details embedded in the Material of a GameObject, but not in its Mesh geometry. + +HDRP uses the details from the normal map, the ambient occlusion map, and specular occlusion to estimate the shadows those details would cast if they were meshes. In this image, the different layers of details in the Material shadow each other. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Volumetric-Clouds.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Volumetric-Clouds.md index d1df2e0c5e9..f0ff4d75b97 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Volumetric-Clouds.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Volumetric-Clouds.md @@ -19,7 +19,7 @@ Using these three things, HDRP generates volumetric clouds in a two-step process [!include[](snippets/Volume-Override-Enable-Override.md)] -* In your [HDRP Asset](HDRP Asset) go to **Lighting > Volumetrics > Volumetric Clouds**. +* In your [HDRP Asset](HDRP-Asset.md) go to **Lighting > Volumetrics > Volumetric Clouds**. * In your [Frame Settings](Frame-Settings.md) go to **Lighting > Volumetric Clouds**. @@ -126,6 +126,7 @@ When importing these two map Textures, disable **sRGB**. For best results, do no | -------------------------------- | ------------------------------------------------------------ | | **Temporal Accumulation Factor** | The amount of temporal accumulation to apply to the clouds. Temporal accumulation increases the visual quality of clouds by decreasing the noise. A higher value produces better quality clouds, but can create [ghosting](Glossary.md#ghosting). | | **Ghosting Reduction** | When you enable this property, HDRP removes the ghosting caused by temporal accumulation. This effect might cause a flickering effect when the **Temporal Accumulation Factor** value is low. | +| **Perceptual Blending** | Blend the clouds with the environment. This might cause artifacts if the sky is overexposed. This setting only has an effect when you disable multi-sample antialiasing (MSAA). | | **Num Primary Steps** | The number of steps to use to evaluate the clouds' transmittance. Higher values linearly increase the resource intensity of the effect. | | **Num Light Steps** | The number of steps to use to evaluate the clouds' lighting. Higher values exponent increase the resource intensity of the effect. | diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md index 98ea8d338d4..c1aedc06ea8 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md @@ -33,8 +33,6 @@ For more information, see [System requirements for Unity](https://docs.unity3d.c HRDP is only compatible with the following platforms: - Windows and Windows Store, with DirectX 11 or DirectX 12 and Shader Model 5.0 -- Google - - Stadia - Sony - PlayStation 4 - PlayStation 5 diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/VR-Overview.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/VR-Overview.md index 19b06553734..b963973e5c3 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/VR-Overview.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/VR-Overview.md @@ -17,9 +17,9 @@ You can also watch the presentation from Unite Copenhagen (October 2019) to lear * **PC with DX11**: * Oculus Rift & Rift S (Oculus XR Plugin, Windows 10, DirectX 11) * Windows Mixed Reality (Windows XR Plugin, Windows 10, DirectX 11) + * Open VR * **PS4**: * PlayStationVR - * Open VR* **Note**: Valve is currently developing their OpenVR Unity XR plugin for 2019.3 and beyond. For more information, see [Unity XR platform updates](https://blogs.unity3d.com/2020/01/24/unity-xr-platform-updates/) on the Unity blog, and [XR Plugin Architecture](https://docs.unity3d.com/Manual/XRPluginArchitecture.html) in the Unity Manual. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md index 210d6ad10f4..6ebebee2ad2 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-use.md @@ -24,7 +24,7 @@ This is especially important when you upgrade your project from an earlier versi 1. Select a global Volume in your scene, such as the **Sky and Fog Volume**. 2. Click **Add Override**. 3. Select **Lighting** > **Water Rendering**. -4. In the **Water Rendering** Volume Override component, set **State** to **Enabled**. +4. In the **Water Rendering** component, set **State** to **Enabled**. This is especially important when you upgrade your project from an earlier version of Unity, because water is inactive by default. If your project originates in HDRP 14 (Unity 2022.2) or later, the water implementation may work even if you only enable it in the **Quality** settings. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/fullscreen-shader.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/fullscreen-shader.md index 1df306967de..83b8691cb8d 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/fullscreen-shader.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/fullscreen-shader.md @@ -83,7 +83,7 @@ To set a source material for the `Blit()` command to use in shader graph: 5. In **Node Settings**, enable the **Exposed** toggle so `Blit()`can bind the texture. 4. Drag the **MainTex** node into your shader graph. 5. Press the Spacebar to open the **Create Node** window -6. In the **Create Node** window, search for the **Texture 2D Array** node and select it to create it in your scene. +6. In the **Create Node** window, search for the **Sample Texture 2D Array** node and select it to create it in your scene. 7. Connect the **MainTex** node to the **Texture Array** port of the **Sample Texture 2D Array** node. 8. Connect the **RBGA** output port of the **Sample Texture 2D Array** to the **Base Color** block in the **Fragment** context. 9. `Blit()` automatically binds the source texture inside the `_MainTex` property. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-use.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-use.md index b83e2089bf1..1612b1255ea 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-use.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-use.md @@ -27,9 +27,9 @@ To make sure Reflection Probes also capture lighting data from Probe Volumes, yo ### Adjust your Light and Mesh Renderer settings -1. To include a Light in a Probe Volume's baked lighting data, open the Inspector for the Light then set the **Light Mode** to **Mixed** or **Baked**. -2. To include an object in a Probe Volume's baked lighting data, open the Inspector for the object and enable **Contribute Global Illumination**. -3. To make an object receive baked lighting, open the Inspector for the object and set **Receive Global Illumination** to **Light Probes**. +1. To include a Light in an Adaptive Probe Volume's baked lighting data, open the Inspector for the Light then set the **Light Mode** to **Mixed** or **Baked**. +2. To include a GameObject in an Adaptive Probe Volume's baked lighting data, open the Inspector for the GameObject and enable **Contribute Global Illumination**. +3. To make a GameObject receive baked lighting, open the Inspector for the GameObject, then in the **Mesh Renderer** component set **Receive Global Illumination** to **Light Probes**. ### Bake your lighting diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/Images/rendering-debugger-play-mode.jpg b/Packages/com.unity.render-pipelines.universal/Documentation~/Images/rendering-debugger-play-mode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c09fb5000170f2898910d78e725f0af6d2e5bec7 GIT binary patch literal 84871 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℞rW;|RMQ}+>0 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 yu%U Graphics > URP Global Settings**. Otherwise, you can only use the [Display Stats](#display-stats) section. To disable the runtime UI, use the [enableRuntimeUI](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/api/UnityEngine.Rendering.DebugManager.html#UnityEngine_Rendering_DebugManager_enableRuntimeUI) property. diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing-ssao.md b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing-ssao.md index e06a0e6bc4c..ecb32e98fd6 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing-ssao.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing-ssao.md @@ -141,7 +141,7 @@ The reduction in resolution of the Ambient Occlusion Pass by a factor of two red ### After Opaque -When you enable **After Opaque**, Unity calculates and applies the SSAO effect after the opaque render pass. This can increase performance when used with **Depth** as the **Source** for normal vector values as Unity does not perform the skips depth prepass to calculate SSAO and instead uses the existing depth values. +When you enable **After Opaque**, Unity calculates and applies the SSAO effect after the opaque render pass. This can increase performance when used with **Depth** as the **Source** for normal vector values as Unity does not perform the depth prepass to calculate SSAO and instead uses the existing depth values. However, this can cause over-darkening of the areas that receive baked occlusion and real-time occlusion. **After Opaque** can also increase performance on mobile devices that use tile-based rendering. diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md index f86efc21761..05d9a38fa1e 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-universal-renderer.md @@ -62,7 +62,7 @@ This section contains properties related to rendering. | Property | Description | |:-|:-| | **Rendering Path** | Select the Rendering Path.
    Options:
    • **Forward**: The Forward Rendering Path.
    • **Forward+**: The [Forward+ Rendering Path](rendering/forward-plus-rendering-path.md).
    • **Deferred**: The [Deferred Rendering Path](rendering/deferred-rendering-path.md).
    | -|   **Depth Priming Mode** | This property determines when Unity performs depth priming.
    Depth Priming can improve GPU frame timings by reducing the number of pixel shader executions. The performance improvement depends on the amount of overlapping pixels in the opaque pass and the complexity of the pixel shaders that Unity can skip by using depth priming.
    The feature has an upfront memory and performance cost. The feature uses a depth prepass to determine which pixel shader invocations Unity can skip, and the feature adds the depth prepass if it's not available yet.
    The options are:
    • **Disabled**: Unity does not perform depth priming.
    • **Auto**: If there is a Render Pass that requires a depth prepass, Unity performs the depth prepass and depth priming.
    • **Forced**: Unity always performs depth priming. To do this, Unity also performs a depth prepass for every render pass. **Note**: Depth priming is disabled at runtime on certain hardware (Tile Based Deferred Rendering) regardless of this setting.
    On Android, iOS, and Apple TV, Unity performs depth priming only in the Forced mode. On tiled GPUs, which are common to those platforms, depth priming might reduce performance when combined with MSAA.

    This property is available only if **Rendering Path** is set to **Forward** | +|   **Depth Priming Mode** | Specify whether Unity uses scene depth data to identify pixels the camera can't see, then skips the shader fragment stage for those pixels. This speeds up rendering, but has an upfront memory and performance cost. The amount rendering speeds up depends on how many pixels are hidden, and the complexity of the fragment shader code Unity skips.

    The options are:
    • **Disabled**: Unity doesn't perform depth priming.
    • **Auto**: Unity performs depth priming only if it's already performed a depth prepass. A depth prepass renders scene depth data early in the render pipeline. This option is not supported on Android, iOS, and Apple TV.
    • **Forced**: Unity always performs a depth prepass and depth priming.

    Depth priming isn't compatible with the following:
    • Platforms that use tile-based rendering.
    • The Deferred rendering path.
    • Multisample anti-aliasing (MSAA).
    | |   **Accurate G-buffer normals** | Indicates whether to use a more resource-intensive normal encoding/decoding method to improve visual quality.

    This property is available only if **Rendering Path** is set to **Deferred**. | | **Depth Texture Mode** | Specifies at which stage in the render pipeline URP should copy the scene depth to a depth texture. The options are:
    • **After Opaques**: URP copies the scene depth after the opaques render pass.
    • **After Transparents**: URP copies the scene depth after the transparents render pass.
    • **Force Prepass**: URP does a depth prepass to generate the scene depth texture.
    **Note**: On mobile devices, the **After Transparents** option can lead to a significant improvement in memory bandwidth. This is because the Copy Depth pass causes a switch in render target between the Opaque pass and the Transparents pass. When this occurs, Unity stores the contents of the Color Buffer in the main memory, and then loads it again once the Copy Depth pass is complete. The impact increases significantly when MSAA is enabled, because Unity must also store and load the MSAA data alongside the Color Buffer. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Properties.md b/Packages/com.unity.visualeffectgraph/Documentation~/Properties.md index a9c4bfd1da9..4478ae68c0f 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Properties.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Properties.md @@ -45,6 +45,8 @@ Compound Property Types are made from base data types. These types describe more Expand Compound Property Types to access their components. +To access components in a script, add an underscore before the component name. For example to access the `radius` component of `MySphere`, use `MySphere_radius`. + ![](Images/PropertyCompound.png) From eb7b2a69a5f427527c4e934c822dd96eb9ce9d3e Mon Sep 17 00:00:00 2001 From: Paul Demeulenaere Date: Thu, 19 Dec 2024 20:34:20 +0000 Subject: [PATCH 15/30] [Port] [VFX/SG] Fix FogNode usage in URP Forward port of https://github.cds.internal.unity3d.com/unity/unity/pull/56678 I didn't use the automatic tool because 100_Fog generated a conflict. --- .../Editor/Data/Nodes/Input/Scene/FogNode.cs | 4 +- .../Assets/GraphicsTests/100_Fog.unity | 323 +- .../GraphicsTests/100_FogSettings.lighting | 63 + .../100_FogSettings.lighting.meta | 8 + .../GraphicsTests/100_SG_FogMesh.shadergraph | 799 ++++ .../100_SG_FogMesh.shadergraph.meta | 10 + .../Assets/GraphicsTests/100_SG_FogMesh.vfx | 4108 +++++++++++++++++ .../GraphicsTests/100_SG_FogMesh.vfx.meta | 14 + 8 files changed, 5288 insertions(+), 41 deletions(-) create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting.meta create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph.meta create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx create mode 100644 Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx.meta diff --git a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Input/Scene/FogNode.cs b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Input/Scene/FogNode.cs index ad0822b8a3a..6e742854959 100644 --- a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Input/Scene/FogNode.cs +++ b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Input/Scene/FogNode.cs @@ -4,7 +4,7 @@ namespace UnityEditor.ShaderGraph { [Title("Input", "Scene", "Fog")] - class FogNode : CodeFunctionNode + class FogNode : CodeFunctionNode, IMayRequireTransform { public FogNode() { @@ -31,5 +31,7 @@ static string Unity_Fog( } "; } + + public NeededTransform[] RequiresTransform(ShaderStageCapability stageCapability = ShaderStageCapability.All) => new[] { NeededTransform.ObjectToWorld }; } } diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_Fog.unity b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_Fog.unity index fc842fc3a99..d7f22cddb5c 100644 --- a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_Fog.unity +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_Fog.unity @@ -13,7 +13,7 @@ OcclusionCullingSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 9 + serializedVersion: 10 m_Fog: 1 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -38,11 +38,11 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 + m_BakeOnSceneLoad: 0 serializedVersion: 11 m_GIWorkflowMode: 0 m_GISettings: @@ -67,9 +67,6 @@ LightmapSettings: m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 m_ReflectionCompression: 2 m_MixedBakeMode: 2 m_BakeBackend: 1 @@ -98,13 +95,14 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 4890085278179872738, guid: afc2c4206ad6e62478df7a767a3e7638, + type: 2} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +115,9 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -148,9 +148,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 258135519} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &258135521 @@ -164,10 +172,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -192,6 +205,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &258135522 MeshFilter: m_ObjectHideFlags: 0 @@ -207,12 +221,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 258135519} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.155, y: 5.969, z: 24.196} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &270514556 GameObject: @@ -256,9 +271,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -292,12 +315,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 270514556} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -15.42, y: 5.24, z: 15.99} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &270514560 MonoBehaviour: @@ -403,6 +427,7 @@ GameObject: m_IsActive: 1 --- !u!73398921 &488408418 VFXRenderer: + serializedVersion: 1 m_ObjectHideFlags: 2 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -412,13 +437,17 @@ VFXRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 - m_Materials: [] m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -452,6 +481,8 @@ VisualEffect: m_InitialEventNameOverriden: 0 m_StartSeed: 0 m_ResetSeedOnPlay: 0 + m_AllowInstancing: 1 + m_ResourceVersion: 1 m_PropertySheet: m_Float: m_Array: [] @@ -488,12 +519,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 488408417} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.41, y: 5.19, z: 30} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &669050717 GameObject: @@ -522,11 +554,19 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 669050717} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 0 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &669050719 MeshRenderer: @@ -539,10 +579,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -567,6 +612,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &669050720 MeshFilter: m_ObjectHideFlags: 0 @@ -582,12 +628,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 669050717} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.77, y: 1.59, z: 35.26} m_LocalScale: {x: 5, y: 5, z: 5} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &674445795 GameObject: @@ -620,6 +667,8 @@ VisualEffect: m_InitialEventNameOverriden: 0 m_StartSeed: 0 m_ResetSeedOnPlay: 0 + m_AllowInstancing: 1 + m_ResourceVersion: 1 m_PropertySheet: m_Float: m_Array: [] @@ -656,15 +705,17 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 674445795} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.41, y: 5.19, z: 24} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!73398921 &674445798 VFXRenderer: + serializedVersion: 1 m_ObjectHideFlags: 2 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -674,21 +725,17 @@ VFXRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 - m_Materials: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -736,9 +783,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 770590750} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &770590752 @@ -752,10 +807,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -780,6 +840,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &770590753 MeshFilter: m_ObjectHideFlags: 0 @@ -795,12 +856,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 770590750} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.32, y: 3.14, z: 28.52} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1208515697 GameObject: @@ -822,6 +884,7 @@ GameObject: m_IsActive: 1 --- !u!73398921 &1208515698 VFXRenderer: + serializedVersion: 1 m_ObjectHideFlags: 2 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -831,13 +894,17 @@ VFXRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 - m_Materials: [] m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -871,6 +938,8 @@ VisualEffect: m_InitialEventNameOverriden: 0 m_StartSeed: 0 m_ResetSeedOnPlay: 0 + m_AllowInstancing: 1 + m_ResourceVersion: 1 m_PropertySheet: m_Float: m_Array: [] @@ -907,13 +976,128 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1208515697} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.41, y: 5.19, z: 33} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1319315866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1319315869} + - component: {fileID: 1319315868} + - component: {fileID: 1319315867} + m_Layer: 0 + m_Name: SG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!73398921 &1319315867 +VFXRenderer: + serializedVersion: 1 + m_ObjectHideFlags: 2 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1319315866} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!2083052967 &1319315868 +VisualEffect: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1319315866} + m_Enabled: 1 + m_Asset: {fileID: 8926484042661614526, guid: 20e235b4f4e8aa94386bf3cbe42dbda6, type: 3} + m_InitialEventName: OnPlay + m_InitialEventNameOverriden: 0 + m_StartSeed: 0 + m_ResetSeedOnPlay: 1 + m_AllowInstancing: 1 + m_ResourceVersion: 1 + m_PropertySheet: + m_Float: + m_Array: [] + m_Vector2f: + m_Array: [] + m_Vector3f: + m_Array: [] + m_Vector4f: + m_Array: [] + m_Uint: + m_Array: [] + m_Int: + m_Array: [] + m_Matrix4x4f: + m_Array: [] + m_AnimationCurve: + m_Array: [] + m_Gradient: + m_Array: [] + m_NamedObject: + m_Array: [] + m_Bool: + m_Array: [] +--- !u!4 &1319315869 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1319315866} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -20, y: 3, z: 21} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!1 &1426010828 GameObject: m_ObjectHideFlags: 0 @@ -941,9 +1125,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1426010828} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} --- !u!23 &1426010830 @@ -957,10 +1149,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -985,6 +1182,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1426010831 MeshFilter: m_ObjectHideFlags: 0 @@ -1000,12 +1198,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1426010828} + serializedVersion: 2 m_LocalRotation: {x: -0.20829226, y: 0.32973933, z: 0.07485625, w: 0.9177597} m_LocalPosition: {x: -14.19, y: 5.72, z: 26.04} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: -25.575, y: 39.525, z: 0.002} --- !u!1 &1456767456 GameObject: @@ -1027,6 +1226,7 @@ GameObject: m_IsActive: 1 --- !u!73398921 &1456767457 VFXRenderer: + serializedVersion: 1 m_ObjectHideFlags: 2 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -1036,13 +1236,17 @@ VFXRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 - m_Materials: [] m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1076,6 +1280,8 @@ VisualEffect: m_InitialEventNameOverriden: 0 m_StartSeed: 0 m_ResetSeedOnPlay: 0 + m_AllowInstancing: 1 + m_ResourceVersion: 1 m_PropertySheet: m_Float: m_Array: [] @@ -1112,12 +1318,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1456767456} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -18.41, y: 5.19, z: 27} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1998512603 GameObject: @@ -1146,9 +1353,8 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1998512603} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 11 m_Type: 1 - m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 3.1415927 m_Range: 10 @@ -1197,8 +1403,13 @@ Light: m_UseColorTemperature: 0 m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 --- !u!4 &1998512605 Transform: m_ObjectHideFlags: 0 @@ -1206,12 +1417,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1998512603} + serializedVersion: 2 m_LocalRotation: {x: 0.22566822, y: 0.766568, z: -0.089079, w: 0.59456897} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 23.886002, y: 107.642006, z: 15.221001} --- !u!114 &1998512606 MonoBehaviour: @@ -1336,9 +1548,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2067038241} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} --- !u!23 &2067038243 @@ -1352,10 +1572,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1380,6 +1605,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &2067038244 MeshFilter: m_ObjectHideFlags: 0 @@ -1395,10 +1621,27 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2067038241} + serializedVersion: 2 m_LocalRotation: {x: -0.20829226, y: 0.32973933, z: 0.07485625, w: 0.9177597} m_LocalPosition: {x: -18.95, y: 4.17, z: 26.04} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: -25.575, y: 39.525, z: 0.002} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 270514559} + - {fileID: 1998512605} + - {fileID: 674445797} + - {fileID: 2067038245} + - {fileID: 1426010832} + - {fileID: 770590754} + - {fileID: 258135523} + - {fileID: 669050721} + - {fileID: 1456767459} + - {fileID: 488408420} + - {fileID: 1208515700} + - {fileID: 1319315869} diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting new file mode 100644 index 00000000000..12bff065735 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 100_FogSettings + serializedVersion: 9 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting.meta b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting.meta new file mode 100644 index 00000000000..ef7f943ae48 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_FogSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: afc2c4206ad6e62478df7a767a3e7638 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph new file mode 100644 index 00000000000..7c7df3a5dfa --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph @@ -0,0 +1,799 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "9ccc4f896a5d474db6b5c0ac55014c09", + "m_Properties": [ + { + "m_Id": "cd93f8cce1c940a29d937ca826962522" + }, + { + "m_Id": "5b16381f8d654de7bb6f4b7d13d1d7d8" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "184ed17132ad492aacd720e8e2f71195" + } + ], + "m_Nodes": [ + { + "m_Id": "3798630d81c849a88da458b749fe72f1" + }, + { + "m_Id": "866137325fbb41d5bdb58cc40d213bce" + }, + { + "m_Id": "b48e7c43f2394d398d6af984e91c554e" + }, + { + "m_Id": "38cbb466051d49038603ccae3cd66d8c" + }, + { + "m_Id": "6ad73e556ede413fa3a039c16019631a" + }, + { + "m_Id": "a508a6302f5c4dc6bb1b0f4402274df2" + }, + { + "m_Id": "9923ccfff9854bdbaf6f10c589cd343a" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6ad73e556ede413fa3a039c16019631a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9923ccfff9854bdbaf6f10c589cd343a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6ad73e556ede413fa3a039c16019631a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9923ccfff9854bdbaf6f10c589cd343a" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9923ccfff9854bdbaf6f10c589cd343a" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "38cbb466051d49038603ccae3cd66d8c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a508a6302f5c4dc6bb1b0f4402274df2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9923ccfff9854bdbaf6f10c589cd343a" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "3798630d81c849a88da458b749fe72f1" + }, + { + "m_Id": "866137325fbb41d5bdb58cc40d213bce" + }, + { + "m_Id": "b48e7c43f2394d398d6af984e91c554e" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "38cbb466051d49038603ccae3cd66d8c" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "605d11c9510f4f318e4d244c1de0716f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "03616d410298401386199fd3b9f9e89d", + "m_Id": 1, + "m_DisplayName": "Density", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Density", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "184ed17132ad492aacd720e8e2f71195", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "cd93f8cce1c940a29d937ca826962522" + }, + { + "m_Id": "5b16381f8d654de7bb6f4b7d13d1d7d8" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3798630d81c849a88da458b749fe72f1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "4a612efd0ae342dc8d28d4b3a5728338" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "38cbb466051d49038603ccae3cd66d8c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "be936f0e28a043d698311534714d74f3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "4a612efd0ae342dc8d28d4b3a5728338", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty", + "m_ObjectId": "5b16381f8d654de7bb6f4b7d13d1d7d8", + "m_Guid": { + "m_GuidSerialized": "1b220023-a542-436b-aeb9-b899af4a52f1" + }, + "m_Name": "Vector3", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Vector3", + "m_DefaultReferenceName": "_Vector3", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "5e2bd16ca52f47cca525a00f025d4f55", + "m_Id": 0, + "m_DisplayName": "Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "605d11c9510f4f318e4d244c1de0716f", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "f364e8ec1c264d1087f498a0220f9421" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_DisableTint": false, + "m_AdditionalMotionVectorMode": 0, + "m_AlembicMotionVectors": false, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.FogNode", + "m_ObjectId": "6ad73e556ede413fa3a039c16019631a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Fog", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -502.0000305175781, + "y": 312.66668701171877, + "width": 184.0, + "height": 102.66665649414063 + } + }, + "m_Slots": [ + { + "m_Id": "db7e33b6e7fd45f58405c2025ffd5b1a" + }, + { + "m_Id": "f7d2ad6921d748358ee7f60d097c6008" + }, + { + "m_Id": "03616d410298401386199fd3b9f9e89d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "866137325fbb41d5bdb58cc40d213bce", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cb1dfedb4df04ed38abb2b5b31332bd4" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8e67f3ef5c144c19a70e8e98ad90d8bb", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "9923ccfff9854bdbaf6f10c589cd343a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -236.66668701171876, + "y": 290.66668701171877, + "width": 209.33331298828126, + "height": 328.0 + } + }, + "m_Slots": [ + { + "m_Id": "8e67f3ef5c144c19a70e8e98ad90d8bb" + }, + { + "m_Id": "cac0dfabc13c4eb381063f1788770e87" + }, + { + "m_Id": "b8e1e14d119a40fb97dd7abd7d491c77" + }, + { + "m_Id": "c7090fb9369241648a637a3fea312b01" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a508a6302f5c4dc6bb1b0f4402274df2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -399.3333740234375, + "y": 38.000057220458987, + "width": 106.66665649414063, + "height": 36.000003814697269 + } + }, + "m_Slots": [ + { + "m_Id": "5e2bd16ca52f47cca525a00f025d4f55" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "cd93f8cce1c940a29d937ca826962522" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b48e7c43f2394d398d6af984e91c554e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f4cbe139d5684aea9db37bc96b5ee302" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b8e1e14d119a40fb97dd7abd7d491c77", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.019999999552965165 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "be936f0e28a043d698311534714d74f3", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c7090fb9369241648a637a3fea312b01", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "cac0dfabc13c4eb381063f1788770e87", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "cb1dfedb4df04ed38abb2b5b31332bd4", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "cd93f8cce1c940a29d937ca826962522", + "m_Guid": { + "m_GuidSerialized": "3bab0927-a75f-4dbc-a23a-170adb02708c" + }, + "m_Name": "Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "db7e33b6e7fd45f58405c2025ffd5b1a", + "m_Id": 2, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalUnlitSubTarget", + "m_ObjectId": "f364e8ec1c264d1087f498a0220f9421" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "f4cbe139d5684aea9db37bc96b5ee302", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f7d2ad6921d748358ee7f60d097c6008", + "m_Id": 0, + "m_DisplayName": "Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Color", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph.meta b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph.meta new file mode 100644 index 00000000000..2f8f8c05a74 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 209dbab2014420141b857eab06bdb72a +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx new file mode 100644 index 00000000000..a9dd6ce9700 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx @@ -0,0 +1,4108 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &114340500867371532 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d01270efd3285ea4a9d6c555cb0a8027, type: 3} + m_Name: VFXUI + m_EditorClassIdentifier: + groupInfos: [] + stickyNoteInfos: [] + categories: [] + uiBounds: + serializedVersion: 2 + x: -32 + y: -259 + width: 2136 + height: 1529 +--- !u!114 &114350483966674976 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d4c867f6b72b714dbb5fd1780afe208, type: 3} + m_Name: 100_SG_FogMesh + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614541} + - {fileID: 8926484042661614547} + - {fileID: 8926484042661614562} + - {fileID: 8926484042661614580} + - {fileID: 8926484042661614582} + - {fileID: 8926484042661614597} + - {fileID: 8926484042661614603} + - {fileID: 8926484042661614625} + - {fileID: 8926484042661614663} + - {fileID: 8926484042661614742} + - {fileID: 8926484042661614766} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_UIInfos: {fileID: 114340500867371532} + m_ParameterInfo: [] + m_ImportDependencies: [] + m_GraphVersion: 12 + m_ResourceVersion: 1 + m_SubgraphDependencies: [] + m_CategoryPath: +--- !u!2058629511 &8926484042661614527 +VisualEffectResource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 100_SG_FogMesh + m_Graph: {fileID: 114350483966674976} + m_Infos: + m_RendererSettings: + motionVectorGenerationMode: 0 + shadowCastingMode: 1 + receiveShadows: 0 + reflectionProbeUsage: 0 + lightProbeUsage: 0 + m_CullingFlags: 3 + m_UpdateMode: 0 + m_PreWarmDeltaTime: 0.05 + m_PreWarmStepCount: 0 + m_InitialEventName: OnPlay + m_InstancingMode: 0 + m_InstancingCapacity: 64 +--- !u!114 &8926484042661614541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73a13919d81fb7444849bae8b5c812a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614543} + m_UIPosition: {x: 551, y: -259} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Spawn System + m_Data: {fileID: 8926484042661614542} + m_InputFlowSlot: + - link: [] + - link: [] + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614547} + slotIndex: 0 + loopDuration: 0 + loopCount: 0 + delayBeforeLoop: 0 + delayAfterLoop: 0 +--- !u!114 &8926484042661614542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f68759077adc0b143b6e1c101e82065e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: + m_Owners: + - {fileID: 8926484042661614541} +--- !u!114 &8926484042661614543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e382412bb691334bb79457a6c127924, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614541} + m_Children: [] + m_UIPosition: {x: 655.3302, y: 1320.3799} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614544} + - {fileID: 8926484042661614545} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614546} + repeat: 0 + spawnMode: 0 + delayMode: 0 +--- !u!114 &8926484042661614544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614544} + m_MasterData: + m_Owner: {fileID: 8926484042661614543} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 7 + m_Space: -1 + m_Property: + name: Count + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614545} + m_MasterData: + m_Owner: {fileID: 8926484042661614543} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0 + m_Space: -1 + m_Property: + name: Delay + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614546} + m_MasterData: + m_Owner: {fileID: 8926484042661614543} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9dfea48843f53fc438eabc12a3a30abc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614573} + m_UIPosition: {x: 551, y: 29} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614548} + m_OutputSlots: [] + m_Label: Initialize Particles + m_Data: {fileID: 8926484042661614561} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614541} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614562} + slotIndex: 0 +--- !u!114 &8926484042661614548 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614549} + - {fileID: 8926484042661614553} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 8926484042661614547} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":1.0,"y":1.0,"z":1.0}}' + m_Space: 0 + m_Property: + name: bounds + m_serializedType: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614548} + m_Children: + - {fileID: 8926484042661614550} + - {fileID: 8926484042661614551} + - {fileID: 8926484042661614552} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: center + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614549} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614549} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614549} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614553 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614548} + m_Children: + - {fileID: 8926484042661614554} + - {fileID: 8926484042661614555} + - {fileID: 8926484042661614556} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: size + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614553} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614553} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614553} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614548} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d78581a96eae8bf4398c282eb0b098bd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: Minimal + m_Owners: + - {fileID: 8926484042661614547} + - {fileID: 8926484042661614562} + - {fileID: 8926484042661614742} + dataType: 0 + capacity: 7 + stripCapacity: 16 + particlePerStripCount: 16 + needsComputeBounds: 0 + boundsMode: 1 + m_Space: 0 +--- !u!114 &8926484042661614562 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2dc095764ededfa4bb32fa602511ea4b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: [] + m_UIPosition: {x: 551, y: 427} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Update Particles + m_Data: {fileID: 8926484042661614561} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614547} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614742} + slotIndex: 0 + integration: 0 + angularIntegration: 0 + ageParticles: 1 + reapParticles: 1 + skipZeroDeltaUpdate: 0 +--- !u!114 &8926484042661614573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614547} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614721} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614579} + attribute: position + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614579 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614579} + m_MasterData: + m_Owner: {fileID: 8926484042661614573} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 486e063e1ed58c843942ea4122829ab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: [] + m_UIPosition: {x: -32, y: 175} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: + - {fileID: 8926484042661614726} + attribute: spawnIndex + location: 0 + mask: xyz +--- !u!114 &8926484042661614582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8ee8a7543fa09e42a7c8616f60d2ad7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: [] + m_UIPosition: {x: 285, y: 229} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614586} + - {fileID: 8926484042661614584} + m_OutputSlots: + - {fileID: 8926484042661614585} + m_Operands: + - name: a + type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + - name: b + type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 +--- !u!114 &8926484042661614584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614584} + m_MasterData: + m_Owner: {fileID: 8926484042661614582} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: -2.5 + m_Space: -1 + m_Property: + name: b + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614585} + m_MasterData: + m_Owner: {fileID: 8926484042661614582} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: + m_Space: -1 + m_Property: + name: + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 1 + m_LinkedSlots: + - {fileID: 8926484042661614723} +--- !u!114 &8926484042661614586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614586} + m_MasterData: + m_Owner: {fileID: 8926484042661614582} + m_Value: + m_Type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 1 + m_Space: -1 + m_Property: + name: a + m_serializedType: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: + - {fileID: 8926484042661614726} +--- !u!114 &8926484042661614597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73a13919d81fb7444849bae8b5c812a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614599} + m_UIPosition: {x: 1254, y: -180} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Spawn System + m_Data: {fileID: 8926484042661614598} + m_InputFlowSlot: + - link: [] + - link: [] + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614603} + slotIndex: 0 + loopDuration: 0 + loopCount: 0 + delayBeforeLoop: 0 + delayAfterLoop: 0 +--- !u!114 &8926484042661614598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f68759077adc0b143b6e1c101e82065e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: + m_Owners: + - {fileID: 8926484042661614597} +--- !u!114 &8926484042661614599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e382412bb691334bb79457a6c127924, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614597} + m_Children: [] + m_UIPosition: {x: 1504.8304, y: 1808.0043} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614600} + - {fileID: 8926484042661614601} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614602} + repeat: 0 + spawnMode: 0 + delayMode: 0 +--- !u!114 &8926484042661614600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614600} + m_MasterData: + m_Owner: {fileID: 8926484042661614599} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 1 + m_Space: -1 + m_Property: + name: Count + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614601 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614601} + m_MasterData: + m_Owner: {fileID: 8926484042661614599} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0 + m_Space: -1 + m_Property: + name: Delay + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614602} + m_MasterData: + m_Owner: {fileID: 8926484042661614599} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9dfea48843f53fc438eabc12a3a30abc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614618} + m_UIPosition: {x: 1254, y: 108} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614604} + m_OutputSlots: [] + m_Label: Initialize Particles + m_Data: {fileID: 8926484042661614617} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614597} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614625} + slotIndex: 0 +--- !u!114 &8926484042661614604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614605} + - {fileID: 8926484042661614609} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 8926484042661614603} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":10.0,"y":10.0,"z":10.0}}' + m_Space: 0 + m_Property: + name: bounds + m_serializedType: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614605 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614604} + m_Children: + - {fileID: 8926484042661614606} + - {fileID: 8926484042661614607} + - {fileID: 8926484042661614608} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: center + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614605} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614605} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614605} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614609 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614604} + m_Children: + - {fileID: 8926484042661614610} + - {fileID: 8926484042661614611} + - {fileID: 8926484042661614612} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: size + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614610 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614609} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614609} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614609} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614604} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614617 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d78581a96eae8bf4398c282eb0b098bd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: Minimal + m_Owners: + - {fileID: 8926484042661614603} + - {fileID: 8926484042661614625} + - {fileID: 8926484042661614663} + - {fileID: 8926484042661614766} + dataType: 0 + capacity: 7 + stripCapacity: 16 + particlePerStripCount: 16 + needsComputeBounds: 0 + boundsMode: 1 + m_Space: 0 +--- !u!114 &8926484042661614618 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614603} + m_Children: [] + m_UIPosition: {x: 849.50024, y: 487.62436} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614727} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614624} + attribute: position + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614624} + m_MasterData: + m_Owner: {fileID: 8926484042661614618} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2dc095764ededfa4bb32fa602511ea4b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: [] + m_UIPosition: {x: 1254, y: 506} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Update Particles + m_Data: {fileID: 8926484042661614617} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614603} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614663} + slotIndex: 0 + - context: {fileID: 8926484042661614766} + slotIndex: 0 + integration: 0 + angularIntegration: 0 + ageParticles: 1 + reapParticles: 1 + skipZeroDeltaUpdate: 0 +--- !u!114 &8926484042661614663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e837ba02e1cb47d4394b6c186d164156, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614670} + - {fileID: 8926484042661614673} + - {fileID: 8926484042661614707} + m_UIPosition: {x: 1212, y: 704} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614664} + - {fileID: 8926484042661614665} + - {fileID: 8926484042661614666} + m_OutputSlots: [] + m_Label: + m_Data: {fileID: 8926484042661614617} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614625} + slotIndex: 0 + m_OutputFlowSlot: + - link: [] + blendMode: 3 + cullMode: 0 + zWriteMode: 0 + zTestMode: 0 + useAlphaClipping: 0 + generateMotionVector: 0 + excludeFromTUAndAA: 0 + sortingPriority: 0 + m_SubOutputs: + - {fileID: 8926484042661614668} + colorMapping: 0 + uvMode: 0 + flipbookLayout: 0 + useSoftParticle: 0 + vfxSystemSortPriority: 0 + sort: 0 + sortMode: 0 + revertSorting: 0 + indirectDraw: 0 + computeCulling: 0 + frustumCulling: 0 + castShadows: 0 + useExposureWeight: 0 + needsOwnSort: 0 + shaderGraph: {fileID: 0} + materialSettings: + m_PropertyNames: [] + m_PropertyValues: [] + MeshCount: 1 + lod: 0 +--- !u!114 &8926484042661614664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b47b8679b468b7347a00cdd50589bc9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614664} + m_MasterData: + m_Owner: {fileID: 8926484042661614663} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":10202,"guid":"0000000000000000e000000000000000","type":0}}' + m_Space: -1 + m_Property: + name: mesh + m_serializedType: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614665} + m_MasterData: + m_Owner: {fileID: 8926484042661614663} + m_Value: + m_Type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 4294967295 + m_Space: -1 + m_Property: + name: subMeshMask + m_serializedType: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614666} + m_MasterData: + m_Owner: {fileID: 8926484042661614663} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"127279d577f25ac4ea17dae3782e5074","type":3}}' + m_Space: -1 + m_Property: + name: mainTexture + m_serializedType: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 388ad3b1dc9c6ae45b630f914fab638f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 +--- !u!114 &8926484042661614670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614663} + m_Children: [] + m_UIPosition: {x: 1504.8304, y: 1808.0043} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614732} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614672} + attribute: size + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614672} + m_MasterData: + m_Owner: {fileID: 8926484042661614670} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614663} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614733} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614678} + attribute: scale + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614678} + m_MasterData: + m_Owner: {fileID: 8926484042661614673} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614663} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614737} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614713} + attribute: position + Composition: 1 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614713} + m_MasterData: + m_Owner: {fileID: 8926484042661614707} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614721 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5265657162cc1a241bba03a3b0476d99, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614722} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614721} + m_MasterData: + m_Owner: {fileID: 8926484042661614573} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":0.0}}' + m_Space: 0 + m_Property: + name: Position + m_serializedType: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614721} + m_Children: + - {fileID: 8926484042661614723} + - {fileID: 8926484042661614724} + - {fileID: 8926484042661614725} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614721} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614722} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614721} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: + - {fileID: 8926484042661614585} +--- !u!114 &8926484042661614724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614722} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614721} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614722} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614721} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614726} + m_MasterData: + m_Owner: {fileID: 8926484042661614580} + m_Value: + m_Type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0 + m_Space: 2147483647 + m_Property: + name: spawnIndex + m_serializedType: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 1 + m_LinkedSlots: + - {fileID: 8926484042661614586} +--- !u!114 &8926484042661614727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5265657162cc1a241bba03a3b0476d99, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614728} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614727} + m_MasterData: + m_Owner: {fileID: 8926484042661614618} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"position":{"x":-13.539999961853028,"y":0.0,"z":8.380000114440918}}' + m_Space: 0 + m_Property: + name: Position + m_serializedType: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614727} + m_Children: + - {fileID: 8926484042661614729} + - {fileID: 8926484042661614730} + - {fileID: 8926484042661614731} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614727} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614728} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614727} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614728} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614727} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614731 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614728} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614727} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614732} + m_MasterData: + m_Owner: {fileID: 8926484042661614670} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 1 + m_Space: 2147483647 + m_Property: + name: Size + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614734} + - {fileID: 8926484042661614735} + - {fileID: 8926484042661614736} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614733} + m_MasterData: + m_Owner: {fileID: 8926484042661614673} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"x":30.0,"y":0.5,"z":0.5}' + m_Space: 2147483647 + m_Property: + name: Scale + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614733} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614733} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614733} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614733} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614733} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614733} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5265657162cc1a241bba03a3b0476d99, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614738} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614737} + m_MasterData: + m_Owner: {fileID: 8926484042661614707} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":-2.75}}' + m_Space: 0 + m_Property: + name: Position + m_serializedType: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614737} + m_Children: + - {fileID: 8926484042661614739} + - {fileID: 8926484042661614740} + - {fileID: 8926484042661614741} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614737} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614739 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614738} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614737} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614738} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614737} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614738} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614737} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e837ba02e1cb47d4394b6c186d164156, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614756} + - {fileID: 8926484042661614759} + m_UIPosition: {x: 496.4444, y: 813.8709} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614747} + - {fileID: 8926484042661614752} + - {fileID: 8926484042661614743} + - {fileID: 8926484042661614744} + m_OutputSlots: [] + m_Label: + m_Data: {fileID: 8926484042661614561} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614562} + slotIndex: 0 + m_OutputFlowSlot: + - link: [] + blendMode: 1 + cullMode: 0 + zWriteMode: 0 + zTestMode: 0 + useAlphaClipping: 0 + generateMotionVector: 0 + excludeFromTUAndAA: 0 + sortingPriority: 0 + m_SubOutputs: [] + colorMapping: 0 + uvMode: 0 + flipbookLayout: 0 + useSoftParticle: 0 + vfxSystemSortPriority: 0 + sort: 0 + sortMode: 0 + revertSorting: 0 + indirectDraw: 0 + computeCulling: 0 + frustumCulling: 0 + castShadows: 0 + useExposureWeight: 0 + needsOwnSort: 0 + shaderGraph: {fileID: 4333940904281232215, guid: 209dbab2014420141b857eab06bdb72a, + type: 3} + materialSettings: + m_PropertyNames: + - _QueueOffset + - _QueueControl + m_PropertyValues: + - 0 + - 0 + MeshCount: 1 + lod: 0 +--- !u!114 &8926484042661614743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b47b8679b468b7347a00cdd50589bc9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614743} + m_MasterData: + m_Owner: {fileID: 8926484042661614742} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":10202,"guid":"0000000000000000e000000000000000","type":0}}' + m_Space: 2147483647 + m_Property: + name: mesh + m_serializedType: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614744} + m_MasterData: + m_Owner: {fileID: 8926484042661614742} + m_Value: + m_Type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 4294967295 + m_Space: 2147483647 + m_Property: + name: subMeshMask + m_serializedType: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614747 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c82227d5759e296488798b1554a72a15, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614748} + - {fileID: 8926484042661614749} + - {fileID: 8926484042661614750} + - {fileID: 8926484042661614751} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614747} + m_MasterData: + m_Owner: {fileID: 8926484042661614742} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Color, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"r":1.0,"g":1.0,"b":1.0,"a":0.0}' + m_Space: 2147483647 + m_Property: + name: _Color + m_serializedType: + m_SerializableType: UnityEngine.Color, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614747} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614747} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: r + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614749 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614747} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614747} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: g + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614747} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614747} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: b + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614747} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614747} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: a + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614753} + - {fileID: 8926484042661614754} + - {fileID: 8926484042661614755} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614752} + m_MasterData: + m_Owner: {fileID: 8926484042661614742} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"x":0.0,"y":0.0,"z":0.0}' + m_Space: 2147483647 + m_Property: + name: _Vector3 + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614752} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614752} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614752} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614752} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614755 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614752} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614752} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614742} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614757} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614758} + attribute: size + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614757} + m_MasterData: + m_Owner: {fileID: 8926484042661614756} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0.5 + m_Space: 2147483647 + m_Property: + name: Size + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614758} + m_MasterData: + m_Owner: {fileID: 8926484042661614756} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: 2147483647 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614742} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614760} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614765} + attribute: position + Composition: 1 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5265657162cc1a241bba03a3b0476d99, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614761} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614760} + m_MasterData: + m_Owner: {fileID: 8926484042661614759} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":4.25}}' + m_Space: 0 + m_Property: + name: Position + m_serializedType: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614761 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614760} + m_Children: + - {fileID: 8926484042661614762} + - {fileID: 8926484042661614763} + - {fileID: 8926484042661614764} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614760} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614761} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614760} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614763 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614761} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614760} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614761} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614760} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614765 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614765} + m_MasterData: + m_Owner: {fileID: 8926484042661614759} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: 2147483647 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e837ba02e1cb47d4394b6c186d164156, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614781} + - {fileID: 8926484042661614775} + - {fileID: 8926484042661614771} + m_UIPosition: {x: 1679, y: 704} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614767} + - {fileID: 8926484042661614768} + - {fileID: 8926484042661614769} + m_OutputSlots: [] + m_Label: + m_Data: {fileID: 8926484042661614617} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614625} + slotIndex: 0 + m_OutputFlowSlot: + - link: [] + blendMode: 3 + cullMode: 0 + zWriteMode: 0 + zTestMode: 0 + useAlphaClipping: 0 + generateMotionVector: 0 + excludeFromTUAndAA: 0 + sortingPriority: 0 + m_SubOutputs: + - {fileID: 8926484042661614774} + colorMapping: 0 + uvMode: 0 + flipbookLayout: 0 + useSoftParticle: 0 + vfxSystemSortPriority: 0 + sort: 0 + sortMode: 0 + revertSorting: 0 + indirectDraw: 0 + computeCulling: 0 + frustumCulling: 0 + castShadows: 0 + useExposureWeight: 0 + needsOwnSort: 0 + shaderGraph: {fileID: 0} + materialSettings: + m_PropertyNames: [] + m_PropertyValues: [] + MeshCount: 1 + lod: 0 +--- !u!114 &8926484042661614767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b47b8679b468b7347a00cdd50589bc9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614767} + m_MasterData: + m_Owner: {fileID: 8926484042661614766} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":10202,"guid":"0000000000000000e000000000000000","type":0}}' + m_Space: 2147483647 + m_Property: + name: mesh + m_serializedType: + m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614768} + m_MasterData: + m_Owner: {fileID: 8926484042661614766} + m_Value: + m_Type: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 4294967295 + m_Space: 2147483647 + m_Property: + name: subMeshMask + m_serializedType: + m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614769} + m_MasterData: + m_Owner: {fileID: 8926484042661614766} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"127279d577f25ac4ea17dae3782e5074","type":3}}' + m_Space: 2147483647 + m_Property: + name: mainTexture + m_serializedType: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614766} + m_Children: [] + m_UIPosition: {x: 2163.727, y: 1910.7292} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614772} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614773} + attribute: size + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614772} + m_MasterData: + m_Owner: {fileID: 8926484042661614771} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 1 + m_Space: 2147483647 + m_Property: + name: Size + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614773} + m_MasterData: + m_Owner: {fileID: 8926484042661614771} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: 2147483647 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 388ad3b1dc9c6ae45b630f914fab638f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 +--- !u!114 &8926484042661614775 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614766} + m_Children: [] + m_UIPosition: {x: 658.8967, y: 102.72504} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614776} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614780} + attribute: scale + Composition: 0 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614777} + - {fileID: 8926484042661614778} + - {fileID: 8926484042661614779} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614776} + m_MasterData: + m_Owner: {fileID: 8926484042661614775} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"x":30.0,"y":0.5,"z":0.5}' + m_Space: 2147483647 + m_Property: + name: Scale + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614776} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614776} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614776} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614776} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614776} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614776} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614780} + m_MasterData: + m_Owner: {fileID: 8926484042661614775} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: 2147483647 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614766} + m_Children: [] + m_UIPosition: {x: 658.8967, y: 102.72504} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614782} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614787} + attribute: position + Composition: 1 + Source: 0 + Random: 0 + channels: 6 +--- !u!114 &8926484042661614782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5265657162cc1a241bba03a3b0476d99, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614783} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614782} + m_MasterData: + m_Owner: {fileID: 8926484042661614781} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":-0.75}}' + m_Space: 0 + m_Property: + name: Position + m_serializedType: + m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614782} + m_Children: + - {fileID: 8926484042661614784} + - {fileID: 8926484042661614785} + - {fileID: 8926484042661614786} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614782} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614782} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614782} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614786 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614782} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: 2147483647 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614787} + m_MasterData: + m_Owner: {fileID: 8926484042661614781} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: 2147483647 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx.meta b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx.meta new file mode 100644 index 00000000000..ba5a1a008ba --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_URP/Assets/GraphicsTests/100_SG_FogMesh.vfx.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 20e235b4f4e8aa94386bf3cbe42dbda6 +VisualEffectImporter: + externalObjects: {} + serializedVersion: 1 + template: + name: + category: + description: + icon: {instanceID: 0} + thumbnail: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From af0a3d666b0bd0805af4e48dfb963344bda5ddd9 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Fri, 20 Dec 2024 12:25:58 +0000 Subject: [PATCH 16/30] [Port] [2022.3] [UUM-84980] Fix wrong SSR when using a shader graph with a clear coat value of 0 Jira : [UUM-84980](https://jira.unity3d.com/browse/UUM-84980) **Short Description:** When 'Clear Coat'(Surface Option) is activated in the Shader Graph, _MATERIAL_FEATURE_CLEAR_COAT is enabled regardless of the actual Clear Coat value. In this case, if the coatMask value is 0 in the EvaluateBSDF_ScreenSpaceReflection() of Lit.hlsl, there is an issue with specular calculation (no problems arise with small values such as 0.001 or 0.00001). Therefore, I resolve this issue by handling the Clear Coat calculation even when the value is 0. **Long Description:** - When 'Clear Coat'(Surface Option) is activated and the clearCoat value is 0 in the shader graph, the ssrLighting value in EvaluateBSDF_ScreenSpaceReflection() is not zero. - For HDRP/Lit with a 'clear coat' value of 0, the ssrLighting value is 0, 0, 0, 0. (Therefore, no issue occurs) - In the 'Render SSR' pass, during the 'ScreenSpaceReflectionsTracing' call, the rays are killed at the killRay step for HDRP/Lit, but they pass through in the shader graph. - This issue arises due to different normalData.perceptualRoughness values, which are computed in the ForwardDepthPrepass. - During the ForwardDepthPrepass when calculating normalData for each Object, the value changes depending on whether the _MATERIAL_FEATURE_CLEAR_COAT keyword is enabled. - For HDRP/Lit, in LitGUI.cs, the _MATERIAL_FEATURE_CLEAR_COAT is disabled when the clear coat value is 0, but in the shader graph, the keyword is enabled based on the 'Clear Coat'(Surface Option) regardless of the actual Clear Coat value. - Due to the nature of the shader graph, accessing the 'Clear Coat' value of the Fragment Node directly is difficult, and the variable name connected to the Clear Coat value can be set differently for each user, making it challenging to check if the Clear Coat value is 0 in ShaderGraphAPI.cs. (See the code below for reference) ``` float _Property_622a98e8ad5742088e5c548ea3797750_Out_0_Float = _Coat; surface.CoatMask = _Property_622a98e8ad5742088e5c548ea3797750_Out_0_Float; ``` - Therefore, I modified EvaluateBSDF_ScreenSpaceReflection() in Lit.hlsl. --- .../Runtime/Material/Lit/Lit.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 793e6ab3858..b366fe5e4df 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -1852,7 +1852,7 @@ IndirectLighting EvaluateBSDF_ScreenSpaceReflection(PositionInputs posInput, // // Note that the SSR with clear coat is a binary state, which means we should never enter the if condition if we don't have an active // clear coat (which is not guaranteed by the HasFlag condition in deferred mode in some cases). We then need to make sure that coatMask is actually non zero. - if (HasFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_CLEAR_COAT) && bsdfData.coatMask > 0.0) + if (HasFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_CLEAR_COAT) && bsdfData.coatMask >= 0.0) { // We use the coat-traced light according to how similar the base lobe roughness is to the coat roughness // (we can assume the coat is always smoother): From 84177235ba5891bef326e30f9ad0b51b11147c1b Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Mon, 6 Jan 2025 18:25:27 +0000 Subject: [PATCH 17/30] [Port] [2022.3] Prevent scene spherical harmonics lighting from leaking into the material preview inspector Fixes: [UUM-84064](https://jira.unity3d.com/browse/UUM-84064), by binding an empty spherical harmonics buffer when a preview camera is detected. --- .../Runtime/Sky/SkyManager.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs index c3a8945101e..fea01b6f208 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -637,6 +637,12 @@ internal ComputeBuffer GetDiffuseAmbientProbeBuffer(HDCamera hdCamera) return m_BlackAmbientProbeBuffer; } + // If a camera is a material preview camera, don't use the scene's ambient spherical harmonics to render it. + if (hdCamera.camera.cameraType == CameraType.Preview) + { + return m_BlackAmbientProbeBuffer; + } + return GetDiffuseAmbientProbeBuffer(GetLightingSky(hdCamera)); } From 6b2b462240d95345522db416c73b7960f453eaa8 Mon Sep 17 00:00:00 2001 From: Mark Green Date: Mon, 6 Jan 2025 18:25:27 +0000 Subject: [PATCH 18/30] [Port] [2022.3] Fixes from graphics docs feedback tickets Dec 2024 **This is a partial backport based on https://github.cds.internal.unity3d.com/unity/unity/pull/58698 for branch 6000.0/staging** Minor fixes from graphics docs feedback tickets. Jira tickets: - https://jira.unity3d.com/browse/DOCG-6327 - fix link to DOTS instancing docs - https://jira.unity3d.com/browse/DOCG-6328 - remove link to missing sample - https://jira.unity3d.com/browse/DOCG-6294 - remove note from min and max - https://jira.unity3d.com/browse/DOCG-6289 - remove incorrect use of 'naming conventions' - https://jira.unity3d.com/browse/DOCG-5082 - add link to RenderingLayerMask API - https://jira.unity3d.com/browse/DOCG-5803 - add link to depth texture information --- .../Documentation~/features/rendering-layers.md | 6 +++++- .../renderer-features/renderer-feature-full-screen-pass.md | 4 ++-- .../urp-shaders/birp-urp-custom-shader-upgrade-guide.md | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/features/rendering-layers.md b/Packages/com.unity.render-pipelines.universal/Documentation~/features/rendering-layers.md index c5334054a96..d121a21beae 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/features/rendering-layers.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/features/rendering-layers.md @@ -140,4 +140,8 @@ This section contains information related to the impact of Rendering Layers on p * When using Rendering Layers only for Lights in the Forward Rendering Path, the performance impact is insignificant. -* Performance impact grows more significantly when the Rendering Layer count exceeds a multiple of 8. For example: increasing the layer count from 8 to 9 layers has a bigger relative impact than increasing the layer count from 9 to 10 layers. The same consideration applies to increasing the count from 16 to 17, from 24 to 25 and so on. \ No newline at end of file +* Performance impact grows more significantly when the Rendering Layer count exceeds a multiple of 8. For example: increasing the layer count from 8 to 9 layers has a bigger relative impact than increasing the layer count from 9 to 10 layers. The same consideration applies to increasing the count from 16 to 17, from 24 to 25 and so on. + +## Additional resources + +- [`RenderingLayerMask` API](ScriptRef:RenderingLayerMask) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md index 520f7f32cad..93720f2406d 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/renderer-feature-full-screen-pass.md @@ -27,5 +27,5 @@ The Full Screen Pass Renderer Feature contains the following properties. | **Name** | Name of the Full Screen Pass Renderer Feature. | | **Pass Material** | The Material the Renderer Feature uses to render the effect. | | **Injection Point** | Select when the effect is rendered:
    • **Before Rendering Transparents**: Add the effect after the skybox pass and before the transparents pass.
    • **Before Rendering Post Processing**: Add the effect after the transparents pass and before the post-processing pass.
    • **After Rendering Post Processing**: Add the effect after the post-processing pass and before AfterRendering pass.
    **After Rendering Post Processing** is the default setting. | -| **Requirements** | Select one or more of the following passes for the Renderer Feature to use:
    • **None**: Add no additional passes.
    • **Everything**: Adds all additional passes available (Depth, Normal, Color, and Motion).
    • **Depth**: Adds a depth prepass to enable the use of depth values.
    • **Normal**: Enables the use of normal vector data.
    • **Color**: Copies color data of a screen to the _BlitTexture texture inside the shader.
    • **Motion**: Enables the use of motion vectors.
    **Color** is the default setting. | -| **Pass Index** | Select a specific pass inside the Pass Material's shader for the Pass Material to use.

    This option is hidden by default. To access this option, click ⋮ in the Renderer Feature section of the Inspector and select **Show Additional Properties**. | \ No newline at end of file +| **Requirements** | Select one or more of the following passes for the Renderer Feature to use:
    • **None**: Add no additional passes.
    • **Everything**: Adds all additional passes available (Depth, Normal, Color, and Motion).
    • **Depth**: Adds a depth prepass to enable the use of depth values. For more information, refer to **Depth Texture** in [Camera Inspector window reference](../camera-component-reference)
    • **Normal**: Enables the use of normal vector data.
    • **Color**: Copies color data of a screen to the _BlitTexture texture inside the shader.
    • **Motion**: Enables the use of motion vectors.
    **Color** is the default setting. | +| **Pass Index** | Select a specific pass inside the Pass Material's shader for the Pass Material to use.

    This option is hidden by default. To access this option, click ⋮ in the Renderer Feature section of the Inspector and select **Show Additional Properties**. | diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/birp-urp-custom-shader-upgrade-guide.md b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/birp-urp-custom-shader-upgrade-guide.md index eea5c33ead7..a6a5462c6c4 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/birp-urp-custom-shader-upgrade-guide.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/urp-shaders/birp-urp-custom-shader-upgrade-guide.md @@ -95,7 +95,7 @@ The following steps show how to solve these issues and make a shader compatible > **Note**: URP does not support all ShaderLab tags. For more information on which tags URP supports, refer to [URP ShaderLab Pass tags](./urp-shaderlab-pass-tags.md). -4. Replace the `struct v2f` code block with the following `struct Varyings` code block. This changes the struct to use the URP naming convention of `Varyings` instead of `v2f`, and updates the shader to use the correct variables for URP. +4. Replace the `struct v2f` code block with the following `struct Varyings` code block. This changes the struct to use the URP name of `Varyings` instead of `v2f`, and updates the shader to use the correct variables for URP. ```c++ struct Varyings @@ -106,7 +106,7 @@ The following steps show how to solve these issues and make a shader compatible }; ``` -5. Beneath the include statement and above the `Varyings` struct, define a new struct with the name `Attributes`. This is equivalent to the Built-In Render Pipeline's appdata structs but with the new URP naming conventions. +5. Beneath the include statement and above the `Varyings` struct, define a new struct with the name `Attributes`. This is equivalent to the Built-In Render Pipeline's `appdata` struct. 6. Add the variables shown below to the `Attributes` struct. ```c++ @@ -169,7 +169,7 @@ This custom unlit shader is now compatible with the SRP Batcher and ready for us Although the shader is now compatible with URP and the SRP Batcher, you can't use use the **Tiling** and **Offset** properties without further changes. To add this functionality to the custom unlit shader, use the following steps. -1. Rename the property `_MainTex` to `_BaseMap` along with any references to this property. This brings the shader code closer to standard URP shader conventions. +1. Rename the property `_MainTex` to `_BaseMap` along with any references to this property. 2. Remove the `[NoScaleOffset]` ShaderLab attribute from the `_BaseMap` property. You can now see **Tiling** and **Offset** properties in the shader's Inspector window. 3. Add the `[MainTexture]` ShaderLab attribute to the `_BaseMap` property and the `[MainColor]` attribute to the `_Color` property. This tells the Editor which property to return when you request the main texture or main color from another part of your project or in the Editor. The `Properties` section of your shader should now look as follows: From 706d28ebade9e073e4010d186bd75f67d030ac65 Mon Sep 17 00:00:00 2001 From: Julien Amsellem Date: Tue, 7 Jan 2025 15:30:20 +0000 Subject: [PATCH 19/30] [VFX][Backport][2022.3] In some specific circumstances, an exception can prevent opening a VFX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit How to reproduce: 1. Open the attached “IN-82864” project 2. In the Assets folder open the “EnemyDeath” VFX Graph file 3. Observe the Console log and the Windows prompt Expected result: VFX Graph window opens as intended without any errors Actual result: VFX Graph window doesn’t open, a Windows prompt “Select an app to open this .vfx file” appears and an error is logged into the console Reproducible in: 2022.3.38f1, 6000.0.22f1 Reproducible on: Windows 11 Not reproducible on: No other environments tested Note: Not reproduced internally by CQA ![](https://jira.unity3d.com/secure/attachment/1568365/image_2024-10-11_214015432.png) [Provided file](https://jira.unity3d.com/secure/attachment/1568363/EnemyDeath.vfx) --- .../Editor/GraphView/VFXComponentBoard.cs | 2 +- .../Editor/GraphView/Views/VFXView.cs | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Packages/com.unity.visualeffectgraph/Editor/GraphView/VFXComponentBoard.cs b/Packages/com.unity.visualeffectgraph/Editor/GraphView/VFXComponentBoard.cs index 18580b90260..4429a317789 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/GraphView/VFXComponentBoard.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/GraphView/VFXComponentBoard.cs @@ -337,7 +337,7 @@ void DeleteBoundsRecorder() void UpdateBoundsRecorder() { - if (controller != null && m_AttachedComponent != null && m_View.controller.graph != null) + if (controller != null && m_AttachedComponent != null && m_View.controller?.graph != null) { bool wasRecording = false; if (m_BoundsRecorder != null) diff --git a/Packages/com.unity.visualeffectgraph/Editor/GraphView/Views/VFXView.cs b/Packages/com.unity.visualeffectgraph/Editor/GraphView/Views/VFXView.cs index d13e18c515b..de92bd911a0 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/GraphView/Views/VFXView.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/GraphView/Views/VFXView.cs @@ -647,12 +647,6 @@ public VFXView() toggleBlackboard.value = blackboardVisible; m_ComponentBoard = new VFXComponentBoard(this); -#if _ENABLE_RESTORE_BOARD_VISIBILITY - bool componentBoardVisible = BoardPreferenceHelper.IsVisible(BoardPreferenceHelper.Board.componentBoard, false); - if (componentBoardVisible) - ShowComponentBoard(); - toggleComponentBoard.value = componentBoardVisible; -#endif Add(m_Toolbar); Add(m_LockedElement); From e1e2772b356cd79e62aad3d3a911173f6f4e2c6d Mon Sep 17 00:00:00 2001 From: Mark Green Date: Sun, 12 Jan 2025 18:16:16 +0000 Subject: [PATCH 20/30] [Port] [2022.3] DOCG-5341 Add note about SRP Blitter API and Shader Graph **This is an backport based on https://github.cds.internal.unity3d.com/unity/unity/pull/59076.** Add note about SRP Blitter API and Shader Graph. Jira ticket: https://jira.unity3d.com/browse/DOCG-5341 --- .../Documentation~/customize/blit-overview.md | 2 ++ .../Documentation~/renderer-features/how-to-fullscreen-blit.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md b/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md index 11614be5ded..dd48037b803 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md @@ -20,6 +20,8 @@ Similar considerations apply to any utilities or wrappers relying on `cmd.Blit` Use the [Blitter API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@13.1/api/UnityEngine.Rendering.Blitter.html) in URP projects. This API does not rely on legacy logic, and is compatible with XR, native Render Passes, and other SRP APIs. +The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](xref:um-shader-graph) shaders aren't compatible with the `Blitter` API. + ## Custom full-screen blit example The [How to perform a full screen blit in URP](../renderer-features/how-to-fullscreen-blit.md) example shows how to create a custom Renderer Feature that performs a full screen blit. The example works in XR and is compatible with SRP APIs. diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md index 9781ae79a60..0de0856f1f0 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md @@ -142,6 +142,8 @@ Follow these steps to create a [custom Renderer Feature](https://docs.unity3d.co 3.
    Create the shader that performs the blit operation. Call the shader file `ColorBlit.shader`. The vertex function outputs the full-screen quad position. The fragment function samples the color buffer and returns the `color * float4(0, _Intensity, 0, 1)` value to the render target. + **Note:** The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](xref:um-shader-graph) shaders aren't compatible with the `Blitter` API. + ```c++ Shader "ColorBlit" { From 83c8319408f986b17ffcf6d565aea89ccd6c3300 Mon Sep 17 00:00:00 2001 From: Mark Green Date: Sun, 12 Jan 2025 18:16:16 +0000 Subject: [PATCH 21/30] [Port] [2022.3] Docs feedback fixes January 2025 **This is a backport of https://github.cds.internal.unity3d.com/unity/unity/pull/59034** Minor docs fixes for January 2025, from user feedback. Jira tickets: - https://jira.unity3d.com/browse/DOCG-5765 - clarify underwater settings in HDRP --- .../Documentation~/WaterSystem-underwater.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-underwater.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-underwater.md index 2f0be2af5ed..e019c49de00 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-underwater.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/WaterSystem-underwater.md @@ -1,8 +1,18 @@ # Underwater view -To view non-infinite water surfaces from underwater, you have to specify a [collider](https://docs.unity3d.com/Manual/Glossary.html#Collider). You can either use the box collider HDRP automatically provides or select a box collider in the scene to use for this purpose. +To change the area where the camera displays an underwater view for a non-infinite water surface, use the **Volume Bounds** setting. Follow these steps: -To view infinite water surfaces from underwater, you have to specify a **Volume Depth**. +1. Create a GameObject with a collider component, for example a cube with a **Box Collider** component. +2. Place the GameObject where you want the underwater view to be visible. +3. In the collider component, select **Edit Collider** to set the size of the visible underwater area. +4. Select the water GameObject. +5. In the **Inspector** window, under **Appearance**, under **Underwater**, set **Volume Bounds** to the GameObject you created. + +To set the area of the underwater view for an ocean, follow these steps: + +1. Select the ocean GameObject. +2. In the **Inspector** window, under **Appearance**, enable **Underwater**. +3. Adjust **Volume Depth**. If you look directly upward at the water surface from below, you may see a square border around the scene view. This is normal. It is because HDRP can only use screenspace data underwater. From bc2ffc8c300602dbe302663f699ce7433c0d63cb Mon Sep 17 00:00:00 2001 From: Mark Green Date: Sun, 12 Jan 2025 18:16:16 +0000 Subject: [PATCH 22/30] [Port] [2022.3] DOCG-5432 Add note about converting read-only materials in HDRP **This is a backport of https://github.cds.internal.unity3d.com/unity/unity/pull/59117** Add note about converting read-only materials in HDRP Jira ticket: https://jira.unity3d.com/browse/DOCG-5432 --- .../Documentation~/Menu-Items.md | 2 ++ .../Documentation~/Upgrading-To-HDRP.md | 1 + 2 files changed, 3 insertions(+) diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md index 5fe5d15c811..7be4754b70d 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md @@ -21,6 +21,8 @@ This section includes all the menu items under the **Edit > Rendering > Decal La This section includes all the menu items under the **Edit > Rendering > Materials** menu fold-out. +For more information, refer to [Convert materials and shaders](convert-from-built-in-convert-materials-and-shaders). + | **Item** | **Description** | | ----------------------------------------------- | ------------------------------------------------------------ | | **Upgrade HDRP Materials to Latest Version** | Upgrades all HDRP Materials in the project to the latest version. This is useful if HDRP's automatic Material upgrade process fails to upgrade a Material. | diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-To-HDRP.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-To-HDRP.md index 7f71e28c12d..4bec55fb873 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-To-HDRP.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-To-HDRP.md @@ -43,6 +43,7 @@ To upgrade the Materials in your Scene to HDRP-compatible Materials: The automatic upgrade options described above can't upgrade all Materials to HDRP correctly: * You can't automatically upgrade custom Materials or Shaders to HDRP. You must [convert custom Materials and Shaders manually](#ManualConversion). +* HDRP can only convert materials from the **Assets** folder of your project. HDRP uses the [error shader](xref:shader-error) for GameObjects that use the default read-only material from the Built-In Render Pipeline, for example [primitives](xref:um-primitive-objects). * Height mapped Materials might look incorrect. This is because HDRP supports more height map displacement techniques and decompression options than the Built-in Render Pipeline. To upgrade a Material that uses a heightmap, modify the Material's **Amplitude** and **Base** properties until the result more closely matches the Built-in Render Pipeline version. * You can't upgrade particle shaders. HDRP doesn't support particle shaders, but it does provide Shader Graphs that are compatible with the [Built-in Particle System](https://docs.unity3d.com/Manual/Built-inParticleSystem.html). These Shader Graphs work in a similar way to the built-in particle shaders. To use these Shader Graphs, import the **Particle System Shader Samples** sample: From 4e58b99af760aafee67f9b7e4135b63400a61ceb Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 15 Jan 2025 23:23:42 +0000 Subject: [PATCH 23/30] [Port] [2022.3] Fix downsampled SSAO not using the correct resolution when the original resolution is odd Fixed black border artifact when using DLSS at certain resolution. The issue is that DRS causes the camera to have odd resolutions which the downsampled SSAO algorithm didn't handled well. --- .../ScreenSpaceLighting/HDRenderPipeline.AmbientOcclusion.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.AmbientOcclusion.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.AmbientOcclusion.cs index 9ce562f3383..a6bc5a28514 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.AmbientOcclusion.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.AmbientOcclusion.cs @@ -48,7 +48,8 @@ RenderAOParameters PrepareRenderAOParameters(HDCamera camera, Vector2 historySiz } else { - parameters.runningRes = new Vector2(Mathf.RoundToInt(camera.actualWidth * 0.5f), Mathf.RoundToInt(camera.actualHeight * 0.5f)); + // Ceil is needed because we upsample the AO too, round would loose a pixel is the resolution is odd + parameters.runningRes = new Vector2(Mathf.CeilToInt(camera.actualWidth * 0.5f), Mathf.CeilToInt(camera.actualHeight * 0.5f)); cb._AOBufferSize = new Vector4(parameters.runningRes.x, parameters.runningRes.y, 1.0f / parameters.runningRes.x, 1.0f / parameters.runningRes.y); } From e4e624a3fb9b40c114e4f9587824f47d0f507acc Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 15 Jan 2025 23:23:59 +0000 Subject: [PATCH 24/30] [Port] [2022.3][URP] Make sure ScriptableStripper doesn't strip any variants when "Strip Unused Variants" is disabled (UUM-91646) This PR does the following: - Fixes UUM-91646 - Makes sure that when "strip unused variants" is disabled, every keyword URP strips out or prefilters is included - Adds editor tests for this and removes some redundant ones --- .../Editor/ShaderBuildPreprocessor.cs | 212 +-- .../Editor/ShaderScriptableStripper.cs | 33 +- ...niversalRenderPipelineAssetPrefiltering.cs | 15 + .../Editor/ShaderBuildPreprocessorTests.cs | 1323 ++++++++--------- 4 files changed, 742 insertions(+), 841 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/Editor/ShaderBuildPreprocessor.cs b/Packages/com.unity.render-pipelines.universal/Editor/ShaderBuildPreprocessor.cs index 9e520790a2d..9a7b77c0c09 100644 --- a/Packages/com.unity.render-pipelines.universal/Editor/ShaderBuildPreprocessor.cs +++ b/Packages/com.unity.render-pipelines.universal/Editor/ShaderBuildPreprocessor.cs @@ -70,6 +70,7 @@ enum ShaderFeatures : long SoftShadowsMedium = (1L << 47), SoftShadowsHigh = (1L << 48), + All = ~0 } [Flags] @@ -85,6 +86,7 @@ enum VolumeFeatures DepthOfField = (1 << 6), CameraMotionBlur = (1 << 7), PaniniProjection = (1 << 8), + All = ~0 } @@ -137,7 +139,7 @@ public static VolumeFeatures volumeFeatures { // This can happen for example when building AssetBundles. if (s_VolumeFeatures == VolumeFeatures.None) - GetSupportedFeaturesFromVolumes(); + GetSupportedFeaturesFromVolumes(ref s_VolumeFeatures); return s_VolumeFeatures; } @@ -193,7 +195,6 @@ internal struct RendererRequirements { public int msaaSampleCount; public bool isUniversalRenderer; - public bool needsUnusedVariants; public bool needsProcedural; public bool needsMainLightShadows; public bool needsAdditionalLightShadows; @@ -236,23 +237,24 @@ public void OnPostprocessBuild(BuildReport report) // settings for all URP Assets in the quality settings internal static void GatherShaderFeatures(bool isDevelopmentBuild) { + s_SupportedFeaturesList.Clear(); GetGlobalAndPlatformSettings(isDevelopmentBuild); - GetSupportedFeaturesFromVolumes(); - s_Strip2DPasses = true; - s_SupportedFeaturesList.Clear(); - using (ListPool.Get(out List urpAssets)) - { - bool success = EditorUserBuildSettings.activeBuildTarget.TryGetRenderPipelineAssets(urpAssets); - if (!success) - { - Debug.LogError("Unable to get UniversalRenderPipelineAssets from EditorUserBuildSettings.activeBuildTarget."); - return; - } + // If stripping of unused volume features is disabled, the s_VolumeFeatures + // variable is set to include every keyword used by volumes shaders. + // Otherwise it tries to gather all the volume features used in the project. + if (s_StripUnusedPostProcessingVariants) + GetSupportedFeaturesFromVolumes(ref s_VolumeFeatures); + else + GetEveryVolumeFeatures(ref s_VolumeFeatures); - // Get Supported features & update data used for Shader Prefiltering and Scriptable Stripping - GetSupportedShaderFeaturesFromAssets(ref urpAssets, ref s_SupportedFeaturesList, s_StripUnusedVariants); - } + // If stripping of unused shader variants is disabled, the s_SupportedFeaturesList + // list is set to include one item containing every keyword used by URP. + // Otherwise it tries to gather all the shader features used in the project. + if (s_StripUnusedVariants) + HandleEnabledShaderStripping(); + else + GetEveryShaderFeatureAndUpdateURPAssets(s_SupportedFeaturesList); } // Retrieves the global and platform settings used in the project... @@ -297,13 +299,18 @@ private static void GetGlobalAndPlatformSettings(bool isDevelopmentBuild) #endif } + internal static void GetEveryVolumeFeatures(ref VolumeFeatures volumeFeatures) + { + volumeFeatures = VolumeFeatures.All; + } + // Checks each Volume Profile Assets for used features... - private static void GetSupportedFeaturesFromVolumes() + private static void GetSupportedFeaturesFromVolumes(ref VolumeFeatures volumeFeatures) { if (!s_StripUnusedPostProcessingVariants) return; - s_VolumeFeatures = VolumeFeatures.Calculated; + volumeFeatures = VolumeFeatures.Calculated; string[] guids = AssetDatabase.FindAssets("t:VolumeProfile"); foreach (string guid in guids) { @@ -322,22 +329,78 @@ private static void GetSupportedFeaturesFromVolumes() if (asset.Has()) s_VolumeFeatures |= VolumeFeatures.Bloom; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.ToneMapping; + volumeFeatures |= VolumeFeatures.ToneMapping; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.FilmGrain; + volumeFeatures |= VolumeFeatures.FilmGrain; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.DepthOfField; + volumeFeatures |= VolumeFeatures.DepthOfField; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.CameraMotionBlur; + volumeFeatures |= VolumeFeatures.CameraMotionBlur; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.PaniniProjection; + volumeFeatures |= VolumeFeatures.PaniniProjection; if (asset.Has()) - s_VolumeFeatures |= VolumeFeatures.ChromaticAberration; + volumeFeatures |= VolumeFeatures.ChromaticAberration; + } + } + + internal static void GetEveryShaderFeatureAndPrefilteringData(List rendererFeaturesList, ref ShaderPrefilteringData spd) + { + // Add one Shader Features item that includes every keyword used by URP Shaders + ShaderFeatures shaderFeatures = ShaderFeatures.All; + rendererFeaturesList.Add(shaderFeatures); + + // Shader Prefiltering + // Get prefiltering data that has every feature enabled + spd = ShaderPrefilteringData.GetDefault(); + } + + // Used when Strip Unused Variants is disabled in the Global Settings. + // One ShaderFeatures item, containing all the keywords used in URP, is added to the + // s_SupportedFeaturesList and then every URP asset is updated so it doesn't prefilter any keywords. + private static void GetEveryShaderFeatureAndUpdateURPAssets(List rendererFeaturesList) + { + ShaderPrefilteringData spd = new(); + GetEveryShaderFeatureAndPrefilteringData(rendererFeaturesList, ref spd); + + // Update each asset so it has every feature enabled + using (ListPool.Get(out List urpAssets)) + { + bool buildingForURP = EditorUserBuildSettings.activeBuildTarget.TryGetRenderPipelineAssets(urpAssets); + if (!buildingForURP) + return; + + for (int urpAssetIndex = 0; urpAssetIndex < urpAssets.Count; urpAssetIndex++) + { + UniversalRenderPipelineAsset urpAsset = urpAssets[urpAssetIndex]; + if (urpAsset == null) + continue; + + // Update the Prefiltering settings for this URP asset + urpAsset.UpdateShaderKeywordPrefiltering(ref spd); + + // Mark the asset dirty so it can be serialized once the build is finished + EditorUtility.SetDirty(urpAsset); + } + } + } + + // The path for gathering shader features for normal shader stripping + private static void HandleEnabledShaderStripping() + { + s_Strip2DPasses = true; + using (ListPool.Get(out List urpAssets)) + { + bool buildingForURP = EditorUserBuildSettings.activeBuildTarget.TryGetRenderPipelineAssets(urpAssets); + if (buildingForURP) + { + // Get Supported features & update data used for Shader Prefiltering and Scriptable Stripping + GetSupportedShaderFeaturesFromAssets(ref urpAssets, ref s_SupportedFeaturesList, s_StripUnusedVariants); + } } } // Checks each Universal Render Pipeline Asset for features used... - internal static void GetSupportedShaderFeaturesFromAssets(ref List urpAssets, ref List rendererFeaturesList, bool stripUnusedVariants) + private static void GetSupportedShaderFeaturesFromAssets(ref List urpAssets, ref List rendererFeaturesList, bool stripUnusedVariants) { List ssaoRendererFeatures = new List(16); for (int urpAssetIndex = 0; urpAssetIndex < urpAssets.Count; urpAssetIndex++) @@ -475,7 +538,7 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRenderers( // Get feature requirements from the renderer ScriptableRenderer renderer = urpAsset.GetRenderer(rendererIndex); ScriptableRendererData rendererData = rendererDataArray[rendererIndex]; - RendererRequirements rendererRequirements = GetRendererRequirements(ref urpAsset, ref renderer, ref rendererData, stripUnusedVariants); + RendererRequirements rendererRequirements = GetRendererRequirements(ref urpAsset, ref renderer, ref rendererData); // Get & add Supported features from renderers used for Scriptable Stripping and prefiltering. ShaderFeatures rendererShaderFeatures = GetSupportedShaderFeaturesFromRenderer(ref rendererRequirements, ref rendererData, ref ssaoRendererFeatures, ref containsForwardRenderer, urpAssetShaderFeatures); @@ -494,13 +557,21 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRenderers( return combinedURPAssetShaderFeatures; } - internal static RendererRequirements GetRendererRequirements(ref UniversalRenderPipelineAsset urpAsset, ref ScriptableRenderer renderer, ref ScriptableRendererData rendererData, bool stripUnusedVariants) + internal static bool NeedsProceduralKeyword(ref RendererRequirements rendererRequirements, UniversalRendererData universalRendererData) + { + #if ENABLE_VR && ENABLE_XR_MODULE + return rendererRequirements.isUniversalRenderer && universalRendererData.xrSystemData != null; + #else + return false; + #endif + } + + internal static RendererRequirements GetRendererRequirements(ref UniversalRenderPipelineAsset urpAsset, ref ScriptableRenderer renderer, ref ScriptableRendererData rendererData) { UniversalRenderer universalRenderer = renderer as UniversalRenderer; UniversalRendererData universalRendererData = rendererData as UniversalRendererData; RendererRequirements rsd = new(); - rsd.needsUnusedVariants = !stripUnusedVariants; rsd.isUniversalRenderer = universalRendererData != null && universalRenderer != null; rsd.msaaSampleCount = urpAsset.msaaSampleCount; rsd.renderingMode = rsd.isUniversalRenderer ? universalRendererData.renderingMode : RenderingMode.Forward; @@ -515,12 +586,7 @@ internal static RendererRequirements GetRendererRequirements(ref UniversalRender rsd.needsRenderPass = (rsd.isUniversalRenderer && rsd.renderingMode == RenderingMode.Deferred && universalRenderer.useRenderPassEnabled); rsd.needsReflectionProbeBlending = urpAsset.reflectionProbeBlending; rsd.needsReflectionProbeBoxProjection = urpAsset.reflectionProbeBoxProjection; - - #if ENABLE_VR && ENABLE_XR_MODULE - rsd.needsProcedural = rsd.isUniversalRenderer && universalRendererData.xrSystemData != null; - #else - rsd.needsProcedural = false; - #endif + rsd.needsProcedural = NeedsProceduralKeyword(ref rsd, universalRendererData); rsd.needsSHVertexForSHAuto = s_UseSHPerVertexForSHAuto; return rsd; @@ -643,7 +709,7 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRendererFeatures(re continue; // We don't add disabled renderer features if "Strip Unused Variants" is enabled. - if (!rendererRequirements.needsUnusedVariants && !rendererFeature.isActive) + if (!rendererFeature.isActive) continue; // Rendering Layers... @@ -658,7 +724,7 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRendererFeatures(re if (sssFeature != null) { // Add it if it's enabled or if unused variants should not be stripped... - if (sssFeature.isActive || rendererRequirements.needsUnusedVariants) + if (sssFeature.isActive) shaderFeatures |= ShaderFeatures.ScreenSpaceShadows; continue; @@ -672,21 +738,11 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRendererFeatures(re ScreenSpaceAmbientOcclusionSettings ssaoSettings = ssaoFeature.settings; ssaoRendererFeatures.Add(ssaoSettings); - // Keep _SCREEN_SPACE_OCCLUSION and the Off variant when stripping of unused variants is disabled - if (rendererRequirements.needsUnusedVariants) - { - shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusion; - shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - } - // The feature is active (Tested a few lines above) so check for AfterOpaque + if (ssaoSettings.AfterOpaque) + shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; else - { - if (ssaoSettings.AfterOpaque) - shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - else - shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusion; - } + shaderFeatures |= ShaderFeatures.ScreenSpaceOcclusion; // Otherwise the keyword will not be used continue; @@ -696,54 +752,32 @@ internal static ShaderFeatures GetSupportedShaderFeaturesFromRendererFeatures(re DecalRendererFeature decal = rendererFeature as DecalRendererFeature; if (decal != null && rendererRequirements.isUniversalRenderer) { - // Keep all Decals variants when stripping of unused variants is disabled - if (rendererRequirements.needsUnusedVariants) - { - shaderFeatures |= ShaderFeatures.DBufferMRT1; - shaderFeatures |= ShaderFeatures.DBufferMRT2; - shaderFeatures |= ShaderFeatures.DBufferMRT3; - shaderFeatures |= ShaderFeatures.DecalScreenSpace; - shaderFeatures |= ShaderFeatures.DecalNormalBlendLow; - shaderFeatures |= ShaderFeatures.DecalNormalBlendMedium; - shaderFeatures |= ShaderFeatures.DecalNormalBlendHigh; - shaderFeatures |= ShaderFeatures.DecalGBuffer; - shaderFeatures |= ShaderFeatures.DecalLayers; - } - else + DecalTechnique technique = decal.GetTechnique(isDeferredRenderer, rendererRequirements.needsGBufferAccurateNormals, false); + switch (technique) { - DecalTechnique technique = decal.GetTechnique(isDeferredRenderer, rendererRequirements.needsGBufferAccurateNormals, false); - switch (technique) - { - case DecalTechnique.DBuffer: - shaderFeatures |= GetFromDecalSurfaceData(decal.GetDBufferSettings().surfaceData); - break; - case DecalTechnique.ScreenSpace: - shaderFeatures |= GetFromNormalBlend(decal.GetScreenSpaceSettings().normalBlend); - shaderFeatures |= ShaderFeatures.DecalScreenSpace; - break; - case DecalTechnique.GBuffer: - shaderFeatures |= GetFromNormalBlend(decal.GetScreenSpaceSettings().normalBlend); - shaderFeatures |= ShaderFeatures.DecalGBuffer; - //data.shaderFeatures |= ShaderFeatures.DecalScreenSpace; // In case deferred is not supported it will fallback to forward - break; - } - - if (decal.requiresDecalLayers) - shaderFeatures |= ShaderFeatures.DecalLayers; + case DecalTechnique.DBuffer: + shaderFeatures |= GetFromDecalSurfaceData(decal.GetDBufferSettings().surfaceData); + break; + case DecalTechnique.ScreenSpace: + shaderFeatures |= GetFromNormalBlend(decal.GetScreenSpaceSettings().normalBlend); + shaderFeatures |= ShaderFeatures.DecalScreenSpace; + break; + case DecalTechnique.GBuffer: + shaderFeatures |= GetFromNormalBlend(decal.GetScreenSpaceSettings().normalBlend); + shaderFeatures |= ShaderFeatures.DecalGBuffer; + //data.shaderFeatures |= ShaderFeatures.DecalScreenSpace; // In case deferred is not supported it will fallback to forward + break; } + + if (decal.requiresDecalLayers) + shaderFeatures |= ShaderFeatures.DecalLayers; } } // If using rendering layers, enable the appropriate feature if (usesRenderingLayers) { - if (rendererRequirements.needsUnusedVariants) - { - shaderFeatures |= ShaderFeatures.GBufferWriteRenderingLayers; - shaderFeatures |= ShaderFeatures.OpaqueWriteRenderingLayers; - shaderFeatures |= ShaderFeatures.DepthNormalPassRenderingLayers; - } - else if (isDeferredRenderer) + if (isDeferredRenderer) { // Rendering layers in both Depth Normal and GBuffer passes are needed // as some object might be rendered in forward and others in deferred. diff --git a/Packages/com.unity.render-pipelines.universal/Editor/ShaderScriptableStripper.cs b/Packages/com.unity.render-pipelines.universal/Editor/ShaderScriptableStripper.cs index 7c5ef972ba9..1c4c232b6fe 100644 --- a/Packages/com.unity.render-pipelines.universal/Editor/ShaderScriptableStripper.cs +++ b/Packages/com.unity.render-pipelines.universal/Editor/ShaderScriptableStripper.cs @@ -1076,28 +1076,31 @@ public bool CanRemoveVariant([DisallowNull] Shader shader, ShaderSnippetData pas }; // All feature sets need to have this variant unused to be stripped out. - bool removeInput = true; - for (var index = 0; index < ShaderBuildPreprocessor.supportedFeaturesList.Count; index++) + bool removeInput = strippingData.stripUnusedVariants; + if (removeInput) { - strippingData.shaderFeatures = ShaderBuildPreprocessor.supportedFeaturesList[index]; + for (var index = 0; index < ShaderBuildPreprocessor.supportedFeaturesList.Count; index++) + { + strippingData.shaderFeatures = ShaderBuildPreprocessor.supportedFeaturesList[index]; - if (StripUnusedShaders(ref strippingData)) - continue; + if (StripUnusedShaders(ref strippingData)) + continue; - if (StripUnusedPass(ref strippingData)) - continue; + if (StripUnusedPass(ref strippingData)) + continue; - if (StripInvalidVariants(ref strippingData)) - continue; + if (StripInvalidVariants(ref strippingData)) + continue; - if (StripUnsupportedVariants(ref strippingData)) - continue; + if (StripUnsupportedVariants(ref strippingData)) + continue; - if (StripUnusedFeatures(ref strippingData)) - continue; + if (StripUnusedFeatures(ref strippingData)) + continue; - removeInput = false; - break; + removeInput = false; + break; + } } // Check PostProcessing variants... diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAssetPrefiltering.cs b/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAssetPrefiltering.cs index 92d154e00a3..a3cd00ffa0d 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAssetPrefiltering.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAssetPrefiltering.cs @@ -32,6 +32,7 @@ internal enum PrefilteringModeAdditionalLights SelectVertexAndOff, // Selects Vertex & OFF variant SelectPixel, // Selects Pixel & Removes OFF variant SelectPixelAndOff, // Selects Pixel & OFF variant + SelectAll // Selects Vertex, Pixel & OFF variant } // Platform specific filtering overrides @@ -77,6 +78,7 @@ internal enum PrefilteringModeAdditionalLights [ShaderKeywordFilter.SelectIf(PrefilteringModeAdditionalLights.SelectVertexAndOff,keywordNames: new string[] {"", ShaderKeywordStrings.AdditionalLightsVertex})] [ShaderKeywordFilter.SelectIf(PrefilteringModeAdditionalLights.SelectPixel, keywordNames: ShaderKeywordStrings.AdditionalLightsPixel)] [ShaderKeywordFilter.SelectIf(PrefilteringModeAdditionalLights.SelectPixelAndOff, keywordNames: new string[] {"", ShaderKeywordStrings.AdditionalLightsPixel})] + [ShaderKeywordFilter.SelectIf(PrefilteringModeAdditionalLights.SelectAll, keywordNames: new string[] {"", ShaderKeywordStrings.AdditionalLightsVertex, ShaderKeywordStrings.AdditionalLightsPixel})] [SerializeField] private PrefilteringModeAdditionalLights m_PrefilteringModeAdditionalLight = PrefilteringModeAdditionalLights.SelectPixelAndOff; // Additional Lights Shadows @@ -216,6 +218,19 @@ internal struct ShaderPrefilteringData public bool stripSSAOSampleCountLow; public bool stripSSAOSampleCountMedium; public bool stripSSAOSampleCountHigh; + + public static ShaderPrefilteringData GetDefault() + { + return new ShaderPrefilteringData() + { + forwardPlusPrefilteringMode = PrefilteringMode.Select, + deferredPrefilteringMode = PrefilteringMode.Select, + mainLightShadowsPrefilteringMode = PrefilteringModeMainLightShadows.SelectAll, + additionalLightsPrefilteringMode = PrefilteringModeAdditionalLights.SelectAll, + additionalLightsShadowsPrefilteringMode = PrefilteringMode.Select, + screenSpaceOcclusionPrefilteringMode = PrefilteringMode.Select, + }; + } } /// diff --git a/Packages/com.unity.render-pipelines.universal/Tests/Editor/ShaderBuildPreprocessorTests.cs b/Packages/com.unity.render-pipelines.universal/Tests/Editor/ShaderBuildPreprocessorTests.cs index 701ba6af971..1f3ba76b8c9 100644 --- a/Packages/com.unity.render-pipelines.universal/Tests/Editor/ShaderBuildPreprocessorTests.cs +++ b/Packages/com.unity.render-pipelines.universal/Tests/Editor/ShaderBuildPreprocessorTests.cs @@ -1,20 +1,20 @@ using System; using System.Collections.Generic; using NUnit.Framework; +using UnityEditor; using UnityEditor.Rendering.Universal; -using UnityEditorInternal; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; -using UnityEngine.TestTools; using RendererRequirements = UnityEditor.Rendering.Universal.ShaderBuildPreprocessor.RendererRequirements; using DecalSettings = UnityEngine.Rendering.Universal.DecalSettings; +using Object = UnityEngine.Object; namespace ShaderStrippingAndPrefiltering { class ShaderBuildPreprocessorTests { - internal class TestHelper + private class TestHelper { internal UniversalRendererData rendererData; internal ScriptableRendererData scriptableRendererData; @@ -27,33 +27,29 @@ internal class TestHelper internal bool stripUnusedVariants; internal bool containsForwardRenderer; internal bool everyRendererHasSSAO; - internal ShaderFeatures defaultURPAssetFeatures = - ShaderFeatures.MainLight - | ShaderFeatures.MixedLighting - | ShaderFeatures.TerrainHoles - | ShaderFeatures.DrawProcedural - | ShaderFeatures.LightCookies - | ShaderFeatures.LODCrossFade - | ShaderFeatures.AutoSHMode - | ShaderFeatures.DataDrivenLensFlare; - - internal RendererRequirements defaultRendererRequirements = new() + + internal ShaderFeatures defaultURPAssetFeatures { - msaaSampleCount = 1, - needsUnusedVariants = false, - isUniversalRenderer = true, - needsProcedural = true, - needsAdditionalLightShadows = false, - needsSoftShadows = false, - needsShadowsOff = false, - needsAdditionalLightsOff = false, - needsGBufferRenderingLayers = false, - needsGBufferAccurateNormals = false, - needsRenderPass = false, - needsReflectionProbeBlending = false, - needsReflectionProbeBoxProjection = false, - renderingMode = RenderingMode.Forward, - }; + get + { + ShaderFeatures defaultFeatures = + ShaderFeatures.MainLight + | ShaderFeatures.MixedLighting + | ShaderFeatures.TerrainHoles + | ShaderFeatures.LightCookies + | ShaderFeatures.LODCrossFade + | ShaderFeatures.AutoSHMode + | ShaderFeatures.DataDrivenLensFlare + | ShaderFeatures.DrawProcedural; + + if (PlayerSettings.allowHDRDisplaySupport) + defaultFeatures |= ShaderFeatures.HdrGrading; + + return defaultFeatures; + } + } + + internal RendererRequirements defaultRendererRequirements; public TestHelper() { @@ -61,7 +57,11 @@ public TestHelper() { rendererData = ScriptableObject.CreateInstance(); scriptableRendererData = rendererData; + urpAsset = UniversalRenderPipelineAsset.Create(rendererData); + urpAsset.name = "TestHelper_URPAsset"; + GraphicsSettings.defaultRenderPipeline = urpAsset; + ScriptableRenderer = urpAsset.GetRenderer(0); universalRenderer = ScriptableRenderer as UniversalRenderer; stripUnusedVariants = true; @@ -81,7 +81,17 @@ public TestHelper() internal RendererRequirements GetRendererRequirements() { - return ShaderBuildPreprocessor.GetRendererRequirements(ref urpAsset, ref ScriptableRenderer, ref scriptableRendererData, stripUnusedVariants); + return ShaderBuildPreprocessor.GetRendererRequirements(ref urpAsset, ref ScriptableRenderer, ref scriptableRendererData); + } + + internal void GetEveryVolumeFeatures(ref VolumeFeatures volumeFeatures) + { + ShaderBuildPreprocessor.GetEveryVolumeFeatures(ref volumeFeatures); + } + + internal void GetEveryShaderFeatureAndPrefilteringData(List rendererFeaturesList, ref UniversalRenderPipelineAsset.ShaderPrefilteringData spd) + { + ShaderBuildPreprocessor.GetEveryShaderFeatureAndPrefilteringData(rendererFeaturesList, ref spd); } internal ShaderFeatures GetSupportedShaderFeaturesFromAsset() @@ -102,7 +112,24 @@ internal ShaderFeatures GetSupportedShaderFeaturesFromRendererFeatures(RendererR private const string k_OnText = "enabled"; private const string k_OffText = "disabled"; - internal void AssertShaderFeaturesAndReset(ShaderFeatures expected, ShaderFeatures actual) + + internal void AssertVolumeFeatures(VolumeFeatures expected, VolumeFeatures actual) + { + foreach (Enum value in Enum.GetValues(typeof(VolumeFeatures))) + { + bool expectedResult = expected.HasFlag(value); + string expectsText = expectedResult ? k_OnText : k_OffText; + bool actualResult = actual.HasFlag(value); + string actualText = actualResult ? k_OnText : k_OffText; + + Assert.AreEqual( + expectedResult, + actualResult, + $"Incorrect Feature flag for ShaderFeatures.{(VolumeFeatures) value}\nThe test expected it to {expectsText} but it was {actualText}\n"); + } + } + + internal void AssertShaderFeatures(ShaderFeatures expected, ShaderFeatures actual) { foreach (Enum value in Enum.GetValues(typeof(ShaderFeatures))) { @@ -116,12 +143,16 @@ internal void AssertShaderFeaturesAndReset(ShaderFeatures expected, ShaderFeatur actualResult, $"Incorrect Feature flag for ShaderFeatures.{(ShaderFeatures) value}\nThe test expected it to {expectsText} but it was {actualText}\n"); } + } + + internal void AssertShaderFeaturesAndReset(ShaderFeatures expected, ShaderFeatures actual) + { + AssertShaderFeatures(expected, actual); ResetData(); } - internal void AssertRendererRequirementsAndReset(RendererRequirements expected, RendererRequirements actual) + internal void AssertRendererRequirements(RendererRequirements expected, RendererRequirements actual) { - Assert.AreEqual(expected.needsUnusedVariants, actual.needsUnusedVariants, "needsUnusedVariants mismatch"); Assert.AreEqual(expected.msaaSampleCount, actual.msaaSampleCount, "msaaSampleCount mismatch"); Assert.AreEqual(expected.isUniversalRenderer, actual.isUniversalRenderer, "isUniversalRenderer mismatch"); Assert.AreEqual(expected.needsProcedural, actual.needsProcedural, "needsProcedural mismatch"); @@ -136,12 +167,30 @@ internal void AssertRendererRequirementsAndReset(RendererRequirements expected, Assert.AreEqual(expected.needsReflectionProbeBoxProjection, actual.needsReflectionProbeBoxProjection, "needsReflectionProbeBoxProjection mismatch"); Assert.AreEqual(expected.renderingMode, actual.renderingMode, "renderingMode mismatch"); Assert.AreEqual(expected, actual, "Some mismatch between the renderer requirements that is not covered in the previous tests."); - + } + internal void AssertRendererRequirementsAndReset(RendererRequirements expected, RendererRequirements actual) + { + AssertRendererRequirements(expected, actual); ResetData(); } internal void ResetData() { + defaultRendererRequirements = new(); + defaultRendererRequirements.msaaSampleCount = 1; + defaultRendererRequirements.isUniversalRenderer = true; + defaultRendererRequirements.needsAdditionalLightShadows = false; + defaultRendererRequirements.needsSoftShadows = false; + defaultRendererRequirements.needsShadowsOff = false; + defaultRendererRequirements.needsAdditionalLightsOff = false; + defaultRendererRequirements.needsGBufferRenderingLayers = false; + defaultRendererRequirements.needsGBufferAccurateNormals = false; + defaultRendererRequirements.needsRenderPass = false; + defaultRendererRequirements.needsReflectionProbeBlending = false; + defaultRendererRequirements.needsReflectionProbeBoxProjection = false; + defaultRendererRequirements.renderingMode = RenderingMode.Forward; + defaultRendererRequirements.needsProcedural = true; + urpAsset.mainLightRenderingMode = LightRenderingMode.Disabled; urpAsset.supportsMainLightShadows = false; urpAsset.additionalLightsRenderingMode = LightRenderingMode.Disabled; @@ -167,548 +216,513 @@ internal void ResetData() internal void Cleanup() { - ScriptableObject.DestroyImmediate(urpAsset); - ScriptableObject.DestroyImmediate(rendererData); + Object.DestroyImmediate(urpAsset); + Object.DestroyImmediate(rendererData); rendererFeatures.Clear(); ssaoRendererFeatures.Clear(); } } - [Test] - public static void TestGetSupportedShaderFeaturesFromAsset_NewAsset() + private RenderPipelineAsset m_PreviousRenderPipelineAssetGraphicsSettings; + private RenderPipelineAsset m_PreviousRenderPipelineAssetQualitySettings; + private TestHelper m_TestHelper; + + [OneTimeSetUp] + public void OneTimeSetup() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; + UniversalRenderPipelineGlobalSettings.Ensure(); - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_PreviousRenderPipelineAssetGraphicsSettings = GraphicsSettings.defaultRenderPipeline; + m_PreviousRenderPipelineAssetQualitySettings = QualitySettings.renderPipeline; - // Clean up - helper.Cleanup(); + GraphicsSettings.defaultRenderPipeline = null; + QualitySettings.renderPipeline = null; + } + + [SetUp] + public void Setup() + { + m_TestHelper = new(); + m_TestHelper.ResetData(); + } + + [TearDown] + public void TearDown() + { + m_TestHelper.Cleanup(); + } + + [OneTimeTearDown] + public void OneTimeTearDown() + { + GraphicsSettings.defaultRenderPipeline = m_PreviousRenderPipelineAssetGraphicsSettings; + QualitySettings.renderPipeline = m_PreviousRenderPipelineAssetQualitySettings; + } + + [Test] + public void TestGetSupportedShaderFeaturesFromAsset_NewAsset() + { + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + ShaderFeatures expected = m_TestHelper.defaultURPAssetFeatures; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } // ShaderFeatures.MainLightShadowsCascade - ShaderFeatures.MainLightShadowsCascade [Test] - public static void TestGetSupportedShaderFeaturesFromAsset_MainLightShadowCascade() + public void TestGetSupportedShaderFeaturesFromAsset_MainLightShadowCascade() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsMainLightShadows = true; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsMainLightShadows = true; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade; - helper.AssertShaderFeaturesAndReset(expected, actual); - - // Clean up - helper.Cleanup(); + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsMainLightShadows = true; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + ShaderFeatures expected = m_TestHelper.defaultURPAssetFeatures; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsMainLightShadows = true; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } // ShaderFeatures.AdditionalLightsVertex & ShaderFeatures.AdditionalLights [Test] - public static void TestGetSupportedShaderFeaturesFromAsset_AdditionalLights() + public void TestGetSupportedShaderFeaturesFromAsset_AdditionalLights() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsVertex; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsPixel; - helper.AssertShaderFeaturesAndReset(expected, actual); - - // Clean up - helper.Cleanup(); + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + ShaderFeatures expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsVertex; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsPixel; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } // ShaderFeatures.SoftShadows - _SHADOWS_SOFT [Test] - public static void TestGetSupportedShaderFeaturesFromAsset_SoftShadows() + public void TestGetSupportedShaderFeaturesFromAsset_SoftShadows() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - // Main Light - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.Disabled; - helper.urpAsset.supportsSoftShadows = true; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsSoftShadows = true; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsMainLightShadows = true; - helper.urpAsset.supportsSoftShadows = false; - expected = helper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsMainLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade | ShaderFeatures.SoftShadows; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.Disabled; + m_TestHelper.urpAsset.supportsSoftShadows = true; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + ShaderFeatures expected = m_TestHelper.defaultURPAssetFeatures; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsSoftShadows = true; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + expected = m_TestHelper.defaultURPAssetFeatures; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsMainLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = false; + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.mainLightRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsMainLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.MainLightShadows | ShaderFeatures.MainLightShadowsCascade | ShaderFeatures.SoftShadows; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Additional Light - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.Disabled; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultURPAssetFeatures; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsVertex; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = false; - expected = helper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightShadows | ShaderFeatures.AdditionalLightsPixel; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightShadows | ShaderFeatures.AdditionalLightsPixel | ShaderFeatures.SoftShadows; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - helper.AssertShaderFeaturesAndReset(expected, actual); - - // Clean up - helper.Cleanup(); + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.Disabled; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultURPAssetFeatures; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightsVertex; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = false; + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightShadows | ShaderFeatures.AdditionalLightsPixel; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.AdditionalLightShadows | ShaderFeatures.AdditionalLightsPixel | ShaderFeatures.SoftShadows; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } [Test] - public static void TestGetSupportedShaderFeaturesFromAsset_HighDynamicRange() + public void TestGetSupportedShaderFeaturesFromAsset_HighDynamicRange() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - - helper.urpAsset.colorGradingMode = ColorGradingMode.LowDynamicRange; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.urpAsset.colorGradingMode = ColorGradingMode.HighDynamicRange; - actual = helper.GetSupportedShaderFeaturesFromAsset(); - expected = helper.defaultURPAssetFeatures | ShaderFeatures.HdrGrading; - helper.AssertShaderFeaturesAndReset(expected, actual); - - // Clean up - helper.Cleanup(); + m_TestHelper.urpAsset.colorGradingMode = ColorGradingMode.LowDynamicRange; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + ShaderFeatures expected = m_TestHelper.defaultURPAssetFeatures; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.urpAsset.colorGradingMode = ColorGradingMode.HighDynamicRange; + actual = m_TestHelper.GetSupportedShaderFeaturesFromAsset(); + expected = m_TestHelper.defaultURPAssetFeatures | ShaderFeatures.HdrGrading; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } [Test] public void TestGetRendererRequirements() { - TestHelper helper = new (); - RendererRequirements actual; - RendererRequirements expected; - // Forward - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(helper.defaultRendererRequirements, actual); + RendererRequirements actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(m_TestHelper.defaultRendererRequirements, actual); // MSAA Sample Count - helper.rendererData.renderingMode = RenderingMode.ForwardPlus; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.rendererData.renderingMode = RenderingMode.ForwardPlus; + RendererRequirements expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Forward Plus - helper.rendererData.renderingMode = RenderingMode.ForwardPlus; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.rendererData.renderingMode = RenderingMode.ForwardPlus; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Deferred - helper.rendererData.renderingMode = RenderingMode.Deferred; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.rendererData.renderingMode = RenderingMode.Deferred; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Native Render Pass - helper.rendererData.renderingMode = RenderingMode.Forward; - helper.ScriptableRenderer.useRenderPassEnabled = true; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; + m_TestHelper.rendererData.renderingMode = RenderingMode.Forward; + m_TestHelper.ScriptableRenderer.useRenderPassEnabled = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; expected.needsRenderPass = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.rendererData.renderingMode = RenderingMode.ForwardPlus; - helper.ScriptableRenderer.useRenderPassEnabled = true; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; + m_TestHelper.rendererData.renderingMode = RenderingMode.ForwardPlus; + m_TestHelper.ScriptableRenderer.useRenderPassEnabled = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; expected.needsRenderPass = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.rendererData.renderingMode = RenderingMode.Deferred; - helper.ScriptableRenderer.useRenderPassEnabled = true; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; - expected.needsRenderPass = helper.ScriptableRenderer.useRenderPassEnabled; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.rendererData.renderingMode = RenderingMode.Deferred; + m_TestHelper.ScriptableRenderer.useRenderPassEnabled = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; + expected.needsRenderPass = m_TestHelper.ScriptableRenderer.useRenderPassEnabled;; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Reflection Probe Blending - helper.urpAsset.reflectionProbeBlending = false; - expected = helper.defaultRendererRequirements; - expected.needsReflectionProbeBlending = helper.urpAsset.reflectionProbeBlending; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); - - helper.urpAsset.reflectionProbeBlending = true; - expected = helper.defaultRendererRequirements; - expected.needsReflectionProbeBlending = helper.urpAsset.reflectionProbeBlending; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.urpAsset.reflectionProbeBlending = false; + expected = m_TestHelper.defaultRendererRequirements; + expected.needsReflectionProbeBlending = m_TestHelper.urpAsset.reflectionProbeBlending; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); + + m_TestHelper.urpAsset.reflectionProbeBlending = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.needsReflectionProbeBlending = m_TestHelper.urpAsset.reflectionProbeBlending; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Reflection Probe Box Projection - helper.urpAsset.reflectionProbeBoxProjection = false; - expected = helper.defaultRendererRequirements; - expected.needsReflectionProbeBoxProjection = helper.urpAsset.reflectionProbeBoxProjection; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); - - helper.urpAsset.reflectionProbeBoxProjection = true; - expected = helper.defaultRendererRequirements; - expected.needsReflectionProbeBoxProjection = helper.urpAsset.reflectionProbeBoxProjection; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + m_TestHelper.urpAsset.reflectionProbeBoxProjection = false; + expected = m_TestHelper.defaultRendererRequirements; + expected.needsReflectionProbeBoxProjection = m_TestHelper.urpAsset.reflectionProbeBoxProjection; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); + + m_TestHelper.urpAsset.reflectionProbeBoxProjection = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.needsReflectionProbeBoxProjection = m_TestHelper.urpAsset.reflectionProbeBoxProjection; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Soft shadows - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsAdditionalLightShadows = false; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = false; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsSoftShadows = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsAdditionalLightShadows = false; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = false; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsSoftShadows = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsSoftShadows = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerPixel; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsAdditionalLightShadows = true; expected.needsSoftShadows = true; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); - - helper.rendererData.renderingMode = RenderingMode.ForwardPlus; - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsAdditionalLightShadows = false; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); + + m_TestHelper.rendererData.renderingMode = RenderingMode.ForwardPlus; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = false; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; expected.needsSoftShadows = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); - - helper.rendererData.renderingMode = RenderingMode.ForwardPlus; - helper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; - helper.urpAsset.supportsAdditionalLightShadows = true; - helper.urpAsset.supportsSoftShadows = true; - expected = helper.defaultRendererRequirements; - expected.renderingMode = helper.rendererData.renderingMode; + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); + + m_TestHelper.rendererData.renderingMode = RenderingMode.ForwardPlus; + m_TestHelper.urpAsset.additionalLightsRenderingMode = LightRenderingMode.PerVertex; + m_TestHelper.urpAsset.supportsAdditionalLightShadows = true; + m_TestHelper.urpAsset.supportsSoftShadows = true; + expected = m_TestHelper.defaultRendererRequirements; + expected.renderingMode = m_TestHelper.rendererData.renderingMode; expected.needsAdditionalLightShadows = true; expected.needsSoftShadows = true; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Shadows Off - helper.ScriptableRenderer.stripShadowsOffVariants = false; - expected = helper.defaultRendererRequirements; + m_TestHelper.ScriptableRenderer.stripShadowsOffVariants = false; + expected = m_TestHelper.defaultRendererRequirements; expected.needsShadowsOff = true; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.ScriptableRenderer.stripShadowsOffVariants = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.ScriptableRenderer.stripShadowsOffVariants = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsShadowsOff = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); // Additional Lights Off - helper.ScriptableRenderer.stripAdditionalLightOffVariants = false; - expected = helper.defaultRendererRequirements; + m_TestHelper.ScriptableRenderer.stripAdditionalLightOffVariants = false; + expected = m_TestHelper.defaultRendererRequirements; expected.needsAdditionalLightsOff = true; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); - helper.ScriptableRenderer.stripAdditionalLightOffVariants = true; - expected = helper.defaultRendererRequirements; + m_TestHelper.ScriptableRenderer.stripAdditionalLightOffVariants = true; + expected = m_TestHelper.defaultRendererRequirements; expected.needsAdditionalLightsOff = false; - actual = helper.GetRendererRequirements(); - helper.AssertRendererRequirementsAndReset(expected, actual); - - // Clean up - helper.Cleanup(); + actual = m_TestHelper.GetRendererRequirements(); + m_TestHelper.AssertRendererRequirementsAndReset(expected, actual); } [Test] public void TestGetSupportedShaderFeaturesFromRenderer() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - RendererRequirements rendererRequirements; - // Initial state - rendererRequirements = helper.defaultRendererRequirements; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); - expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + ShaderFeatures expected = ShaderFeatures.DrawProcedural; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Procedural... - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsProcedural = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsProcedural = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Rendering Modes... - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Forward; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.ForwardPlus; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.ForwardPlus | ShaderFeatures.AdditionalLightsKeepOffVariants; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.DeferredShading; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // The Off variant for Additional Lights - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsAdditionalLightsOff = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsAdditionalLightsOff = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.AdditionalLightsKeepOffVariants; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // The Off variant for Main and Additional Light shadows - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsShadowsOff = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsShadowsOff = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.ShadowsKeepOffVariants; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Soft shadows - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsSoftShadows = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsSoftShadows = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.SoftShadows; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Deferred GBuffer Rendering Layers - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsGBufferRenderingLayers = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsGBufferRenderingLayers = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.GBufferWriteRenderingLayers; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Deferred GBuffer Accurate Normals - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsGBufferAccurateNormals = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsGBufferAccurateNormals = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.AccurateGbufferNormals; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Deferred GBuffer Native Render Pass - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsRenderPass = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsRenderPass = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.RenderPassEnabled; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Reflection Probe Blending - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsReflectionProbeBlending = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsReflectionProbeBlending = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.ReflectionProbeBlending; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Reflection Probe Box Projection - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsReflectionProbeBoxProjection = false; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - rendererRequirements = helper.defaultRendererRequirements; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.needsReflectionProbeBoxProjection = true; - actual = helper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRenderer(rendererRequirements, ShaderFeatures.None); expected = ShaderFeatures.DrawProcedural | ShaderFeatures.ReflectionProbeBoxProjection; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + } - helper.Cleanup(); + [Test] + public void TestStripUnusedPostProcessingVariants_ReturnsAll() + { + VolumeFeatures volumeFeatures = VolumeFeatures.None; + m_TestHelper.GetEveryVolumeFeatures(ref volumeFeatures); + m_TestHelper.AssertVolumeFeatures(VolumeFeatures.All, volumeFeatures); } + [Test] + public void TestStripUnusedVariants_ReturnsAll() + { + List rendererFeaturesList = new List(1); + UniversalRenderPipelineAsset.ShaderPrefilteringData prefilteringData = new(); + m_TestHelper.GetEveryShaderFeatureAndPrefilteringData(rendererFeaturesList, ref prefilteringData); + Assert.AreEqual(1, rendererFeaturesList.Count); + m_TestHelper.AssertShaderFeatures(ShaderFeatures.All, rendererFeaturesList[0]); + } [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_NoFeatures() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_NoFeatures() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - RendererRequirements rendererRequirements; - // Initial state - rendererRequirements = helper.defaultRendererRequirements; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.Cleanup(); + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.None; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } // Tests if we handle Renderer Features that are null [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_Null() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_Null() { - TestHelper helper = new (); - ShaderFeatures actual; - ShaderFeatures expected; - RendererRequirements rendererRequirements; - - rendererRequirements = helper.defaultRendererRequirements; - - helper.rendererFeatures.Add(null); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures.Add(null); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.Cleanup(); + m_TestHelper.rendererFeatures.Add(null); + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.None; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_RenderingLayers() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_RenderingLayers() { - TestHelper helper = new (); - RendererRequirements rendererRequirements; - ShaderFeatures actual; - ShaderFeatures expected; - ShaderFeatures expectedWithUnused = ShaderFeatures.DBufferMRT1 - | ShaderFeatures.DBufferMRT1 - | ShaderFeatures.DBufferMRT2 - | ShaderFeatures.DBufferMRT3 - | ShaderFeatures.DecalScreenSpace - | ShaderFeatures.DecalNormalBlendLow - | ShaderFeatures.DecalNormalBlendMedium - | ShaderFeatures.DecalNormalBlendHigh - | ShaderFeatures.DecalGBuffer - | ShaderFeatures.DecalLayers; - DecalRendererFeature decalFeature = ScriptableObject.CreateInstance(); decalFeature.settings = new DecalSettings() { @@ -718,123 +732,108 @@ public static void TestGetSupportedShaderFeaturesFromRendererFeatures_Rendering dBufferSettings = new DBufferSettings(), screenSpaceSettings = new DecalScreenSpaceSettings(), }; - helper.rendererFeatures.Add(decalFeature); - - // Needs unused variants - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = false; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.rendererFeatures.Add(decalFeature); // DBuffer - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = false; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = false; + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.DBufferMRT3; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalLayers | ShaderFeatures.DepthNormalPassRenderingLayers | ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = true; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalLayers | ShaderFeatures.DepthNormalPassRenderingLayers | ShaderFeatures.GBufferWriteRenderingLayers | ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Screenspace - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = false; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = false; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalNormalBlendLow; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalLayers | ShaderFeatures.OpaqueWriteRenderingLayers | ShaderFeatures.DecalNormalBlendLow;; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.decalLayers = true; - rendererRequirements = helper.defaultRendererRequirements; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalLayers | ShaderFeatures.OpaqueWriteRenderingLayers | ShaderFeatures.DecalNormalBlendLow; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalGBuffer | ShaderFeatures.DecalNormalBlendLow | ShaderFeatures.DecalLayers | ShaderFeatures.DepthNormalPassRenderingLayers | ShaderFeatures.GBufferWriteRenderingLayers; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - // Clean up - helper.Cleanup(); + // Test with DepthNormal prepass enabled (Is enabled implicitly by SSAO f.ex) + ScreenSpaceAmbientOcclusion ssaoFeature = ScriptableObject.CreateInstance(); + ssaoFeature.settings = new ScreenSpaceAmbientOcclusionSettings() + { + AOMethod = ScreenSpaceAmbientOcclusionSettings.AOMethodOptions.BlueNoise, + Downsample = false, + AfterOpaque = false, + Source = ScreenSpaceAmbientOcclusionSettings.DepthSource.DepthNormals, + NormalSamples = ScreenSpaceAmbientOcclusionSettings.NormalQuality.Medium, + Intensity = 3.0f, + DirectLightingStrength = 0.25f, + Radius = 0.035f, + Samples = ScreenSpaceAmbientOcclusionSettings.AOSampleOption.Medium, + BlurQuality = ScreenSpaceAmbientOcclusionSettings.BlurQualityOptions.High, + Falloff = 100f, + }; + ssaoFeature.SetActive(true); + m_TestHelper.rendererFeatures.Add(ssaoFeature); + + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.decalLayers = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + expected = ShaderFeatures.ScreenSpaceOcclusion | ShaderFeatures.DecalScreenSpace | + ShaderFeatures.DecalNormalBlendLow | ShaderFeatures.DecalLayers | + ShaderFeatures.OpaqueWriteRenderingLayers; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.rendererFeatures.Remove(ssaoFeature); } [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_ScreenSpaceShadows() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_ScreenSpaceShadows() { - TestHelper helper = new (); - RendererRequirements rendererRequirements; - ShaderFeatures actual; - ShaderFeatures expected; - ScreenSpaceShadows screenSpaceShadowsFeature = ScriptableObject.CreateInstance(); - helper.rendererFeatures.Add(screenSpaceShadowsFeature); + m_TestHelper.rendererFeatures.Add(screenSpaceShadowsFeature); // Initial - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceShadows; - helper.AssertShaderFeaturesAndReset(expected, actual); - - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceShadows; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.ScreenSpaceShadows; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.rendererFeatures[0].SetActive(false); + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceShadows; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.Cleanup(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } // Screen Space Ambient Occlusion (SSAO)... [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_SSAO() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_SSAO() { - TestHelper helper = new (); - RendererRequirements rendererRequirements; - ShaderFeatures actual; - ShaderFeatures expected; - ScreenSpaceAmbientOcclusion ssaoFeature = ScriptableObject.CreateInstance(); ssaoFeature.settings = new ScreenSpaceAmbientOcclusionSettings() { @@ -850,90 +849,42 @@ public static void TestGetSupportedShaderFeaturesFromRendererFeatures_SSAO() BlurQuality = ScreenSpaceAmbientOcclusionSettings.BlurQualityOptions.High, Falloff = 100f, }; - helper.rendererFeatures.Add(ssaoFeature); + m_TestHelper.rendererFeatures.Add(ssaoFeature); // Enabled feature - helper.rendererFeatures[0].SetActive(true); - - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusion; - helper.AssertShaderFeaturesAndReset(expected, actual); - - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusion | ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((ScreenSpaceAmbientOcclusion)helper.rendererFeatures[0]).settings.AfterOpaque = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.rendererFeatures[0].SetActive(true); + + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.ScreenSpaceOcclusion; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((ScreenSpaceAmbientOcclusion)helper.rendererFeatures[0]).settings.AfterOpaque = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusion | ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - helper.AssertShaderFeaturesAndReset(expected, actual); + ((ScreenSpaceAmbientOcclusion)m_TestHelper.rendererFeatures[0]).settings.AfterOpaque = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + expected = ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // Disabled feature - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + m_TestHelper.rendererFeatures[0].SetActive(false); + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusion | ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - ((ScreenSpaceAmbientOcclusion)helper.rendererFeatures[0]).settings.AfterOpaque = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.rendererFeatures[0].SetActive(false); + ((ScreenSpaceAmbientOcclusion)m_TestHelper.rendererFeatures[0]).settings.AfterOpaque = true; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - ((ScreenSpaceAmbientOcclusion)helper.rendererFeatures[0]).settings.AfterOpaque = true; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.ScreenSpaceOcclusion | ShaderFeatures.ScreenSpaceOcclusionAfterOpaque; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ScriptableObject.DestroyImmediate(ssaoFeature); - helper.Cleanup(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + Object.DestroyImmediate(ssaoFeature); } [Test] - public static void TestGetSupportedShaderFeaturesFromRendererFeatures_Decals() + public void TestGetSupportedShaderFeaturesFromRendererFeatures_Decals() { - TestHelper helper = new (); - RendererRequirements rendererRequirements; - ShaderFeatures actual; - ShaderFeatures expected; - ShaderFeatures expectedWithUnused = ShaderFeatures.DBufferMRT1 - | ShaderFeatures.DBufferMRT1 - | ShaderFeatures.DBufferMRT2 - | ShaderFeatures.DBufferMRT3 - | ShaderFeatures.DecalScreenSpace - | ShaderFeatures.DecalNormalBlendLow - | ShaderFeatures.DecalNormalBlendMedium - | ShaderFeatures.DecalNormalBlendHigh - | ShaderFeatures.DecalGBuffer - | ShaderFeatures.DecalLayers; - DecalRendererFeature decalFeature = ScriptableObject.CreateInstance(); decalFeature.settings = new DecalSettings() { @@ -943,218 +894,116 @@ public static void TestGetSupportedShaderFeaturesFromRendererFeatures_Decals() dBufferSettings = new DBufferSettings(), screenSpaceSettings = new DecalScreenSpaceSettings(), }; - helper.rendererFeatures.Add(decalFeature); + m_TestHelper.rendererFeatures.Add(decalFeature); // TODO Tests for Automatic // Initial - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); - - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + RendererRequirements rendererRequirements = m_TestHelper.defaultRendererRequirements; + ShaderFeatures actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ShaderFeatures expected = ShaderFeatures.DBufferMRT3; + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); + + m_TestHelper.rendererFeatures[0].SetActive(false); + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.None; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.rendererFeatures[0].SetActive(false); - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // DecalTechniqueOption - DBuffer - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // DecalTechniqueOption - ScreenSpace - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalNormalBlendLow; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalNormalBlendLow | ShaderFeatures.DecalGBuffer; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // DBuffer - DecalSurfaceData Albedo - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.DBuffer; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.Albedo; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.Albedo; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DBufferMRT1; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.Albedo; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // DBuffer - DecalSurfaceData AlbedoNormal - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormal; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormal; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DBufferMRT2; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormal; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // DBuffer - DecalSurfaceData AlbedoNormalMAOS - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormalMAOS; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormalMAOS; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DBufferMRT3; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.dBufferSettings.surfaceData = DecalSurfaceData.AlbedoNormalMAOS; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // ScreenSpace - DecalNormalBlend Low - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.technique = DecalTechniqueOption.ScreenSpace; - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Low; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Low; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalNormalBlendLow; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Low; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Low; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Low; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalGBuffer | ShaderFeatures.DecalNormalBlendLow; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // ScreenSpace - DecalNormalBlend Medium - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Medium; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Medium; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalNormalBlendMedium; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Medium; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Medium; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.Medium; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalGBuffer | ShaderFeatures.DecalNormalBlendMedium; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); // ScreenSpace - DecalNormalBlend High - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.High; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.High; + rendererRequirements = m_TestHelper.defaultRendererRequirements; + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalScreenSpace | ShaderFeatures.DecalNormalBlendHigh; - helper.AssertShaderFeaturesAndReset(expected, actual); - - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.High; - rendererRequirements = helper.defaultRendererRequirements; - rendererRequirements.needsUnusedVariants = true; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); - expected = expectedWithUnused; - helper.AssertShaderFeaturesAndReset(expected, actual); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); - ((DecalRendererFeature)helper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.High; - rendererRequirements = helper.defaultRendererRequirements; + ((DecalRendererFeature)m_TestHelper.rendererFeatures[0]).settings.screenSpaceSettings.normalBlend = DecalNormalBlend.High; + rendererRequirements = m_TestHelper.defaultRendererRequirements; rendererRequirements.renderingMode = RenderingMode.Deferred; - rendererRequirements.needsUnusedVariants = false; - actual = helper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); + actual = m_TestHelper.GetSupportedShaderFeaturesFromRendererFeatures(rendererRequirements); expected = ShaderFeatures.DecalGBuffer | ShaderFeatures.DecalNormalBlendHigh; - helper.AssertShaderFeaturesAndReset(expected, actual); - - helper.Cleanup(); + m_TestHelper.AssertShaderFeaturesAndReset(expected, actual); } } } From 8c027e12104017f3f2e8c4a2bfdc787ed8e0690d Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Fri, 17 Jan 2025 03:46:45 +0000 Subject: [PATCH 25/30] [Port] [2022.3] Docs feedback fixes January 2025 part 2 Minor docs fixes for January 2025, from user feedback. Part 2. Jira tickets: - https://jira.unity3d.com/browse/DOCG-6479 - move experimental warnings to below h1s - https://jira.unity3d.com/browse/DOCG-6481 - add a link to RenderDoc from shader debugging landing page --- .../Documentation~/ExposedPropertyHelper.md | 3 ++- .../Documentation~/SpawnerCallbacks.md | 3 ++- .../com.unity.visualeffectgraph/Documentation~/VectorFields.md | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/ExposedPropertyHelper.md b/Packages/com.unity.visualeffectgraph/Documentation~/ExposedPropertyHelper.md index b77dbc31725..3bc1ad6146d 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/ExposedPropertyHelper.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/ExposedPropertyHelper.md @@ -1,6 +1,7 @@ -
    Experimental: This feature is currently experimental and is subject to change in later major versions. To use this feature, enable Experimental Operators/Blocks in the Visual Effects tab of your Project's Preferences.
    # Exposed Property class +**Note:** This feature is currently experimental and is subject to change in later major versions. To use this feature, enable **Experimental Operators/Blocks** in the **Visual Effects** tab of your Project's Preferences. + The `ExposedProperty` class is a helper class that stores a property ID based on the property's name. The value that you assign to an `ExposedProperty` is the string name of a Shader property. The class automatically calls the `Shader.PropertyToID(string name)` function with the Shader property name as the parameter and stores the integer ID the function returns. When you use this class in a Property, Event, or EventAttribute method in the [component API](ComponentAPI.md), it implicitly uses this integer. When you want to access a Shader property, you can either use the property's name or its ID. It is often easier to use the name of the property, however it is more efficient to use the property's integer ID. This class is useful because it combines the convenience of using the property name with the efficiency of using the property ID. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/SpawnerCallbacks.md b/Packages/com.unity.visualeffectgraph/Documentation~/SpawnerCallbacks.md index e919399b646..0e4ae290e7b 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/SpawnerCallbacks.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/SpawnerCallbacks.md @@ -1,6 +1,7 @@ -
    Experimental: This feature is currently experimental and is subject to change in later major versions. To use this feature, enable Experimental Operators/Blocks in the Visual Effects tab of your Project's Preferences.
    # Spawner Callbacks +**Note:** This feature is currently experimental and is subject to change in later major versions. To use this feature, enable **Experimental Operators/Blocks** in the **Visual Effects** tab of your Project's Preferences. + Spawner Callbacks is a C# API that allows you to define custom runtime behavior and create new Blocks for use in Spawn Contexts. Spawner Callbacks allow you to: diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/VectorFields.md b/Packages/com.unity.visualeffectgraph/Documentation~/VectorFields.md index 449cb814596..1fb79f0d09f 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/VectorFields.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/VectorFields.md @@ -1,6 +1,7 @@ -
    Experimental: This feature is currently experimental and is subject to change in later major versions. To use this feature, enable Experimental Operators/Blocks in the Visual Effects tab of your Project's Preferences.
    # Vector Fields / Signed Distance Fields +**Note:** This feature is currently experimental and is subject to change in later major versions. To use this feature, enable **Experimental Operators/Blocks** in the **Visual Effects** tab of your Project's Preferences. + Vector Fields and Signed Distance Fields are 3D Fields containing values stored in voxels. These are available as 3D Textures in Visual Effect Graph and can be imported using the Volume File (`.vf`) file format. Volume File is an [Open Source specification](https://github.com/peeweek/VectorFieldFile/blob/master/README.md) that contains basic structure for storing floating point data. Unity automatically imports Volume File files are automatically imported in unity as 3D Textures and can be used in Visual Effect Graph Blocks and Operators that input 3D Textures, such as Vector Field or Signed Distance Field Blocks. From a59444a308684b8cd802dd0fc97b8e5fa2187669 Mon Sep 17 00:00:00 2001 From: Evergreen Date: Sun, 19 Jan 2025 18:51:15 +0000 Subject: [PATCH 26/30] 2022.3 Backport PR #49299 (Reduce Banding on FSR Upscaled Render Target) This change backports the FSR banding fixes from #49299 to 2022.3. --- .../Runtime/Passes/PostProcessPass.cs | 4 +- .../108_UpscalingFilters/BandingMaterial.mat | 136 +++++ .../BandingMaterial.mat.meta | 8 + .../108_UpscalingFilters_FSR_Banding.unity | 576 ++++++++++++++++++ ...08_UpscalingFilters_FSR_Banding.unity.meta | 7 + .../ProjectSettings/EditorBuildSettings.asset | 3 + 6 files changed, 733 insertions(+), 1 deletion(-) create mode 100644 Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat create mode 100644 Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat.meta create mode 100644 Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity create mode 100644 Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity.meta diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs index 7b47c8fce28..cc8792da0cc 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/PostProcessPass.cs @@ -1469,7 +1469,9 @@ void RenderFinalPass(CommandBuffer cmd, ref RenderingData renderingData) { m_Materials.easu.shaderKeywords = null; - var upscaleRtDesc = tempRtDesc; + var upscaleRtDesc = cameraData.cameraTargetDescriptor; + upscaleRtDesc.msaaSamples = 1; + upscaleRtDesc.depthBufferBits = 0; upscaleRtDesc.width = cameraData.pixelWidth; upscaleRtDesc.height = cameraData.pixelHeight; diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat new file mode 100644 index 00000000000..30b6f439d94 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BandingMaterial + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 5f951043386624d62a1d57cf247df28f, type: 3} + m_Scale: {x: 0.1, y: 4} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 5f951043386624d62a1d57cf247df28f, type: 3} + m_Scale: {x: 0.1, y: 4} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &5016658129403020143 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat.meta new file mode 100644 index 00000000000..6a72da784e2 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters/BandingMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47f5bf986eba8b04caaac72bae63c36b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity new file mode 100644 index 00000000000..3fef3c58008 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity @@ -0,0 +1,576 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.06 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &291658464 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 291658468} + - component: {fileID: 291658467} + - component: {fileID: 291658466} + - component: {fileID: 291658465} + - component: {fileID: 291658469} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &291658465 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291658464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 1 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!81 &291658466 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291658464} + m_Enabled: 1 +--- !u!20 &291658467 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291658464} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 50 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &291658468 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291658464} + serializedVersion: 2 + m_LocalRotation: {x: 0.27563733, y: 0, z: 0, w: 0.96126175} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 32, y: 0, z: 0} +--- !u!114 &291658469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291658464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73231aa468d81ea49bc3d914080de185, type: 3} + m_Name: + m_EditorClassIdentifier: + ImageComparisonSettings: + TargetWidth: 512 + TargetHeight: 512 + TargetMSAASamples: 1 + PerPixelCorrectnessThreshold: 0.001 + PerPixelGammaThreshold: 0.003921569 + PerPixelAlphaThreshold: 0.003921569 + RMSEThreshold: 0 + AverageCorrectnessThreshold: 0.005 + IncorrectPixelsThreshold: 0.0000038146973 + UseHDR: 0 + UseBackBuffer: 1 + ImageResolution: 0 + ActiveImageTests: 1 + ActivePixelTests: -1 + WaitFrames: 0 + XRCompatible: 1 + gpuDrivenCompatible: 1 + CheckMemoryAllocation: 1 + renderBackendCompatibility: 2 + SetBackBufferResolution: 0 +--- !u!1 &786493371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 786493373} + - component: {fileID: 786493372} + m_Layer: 0 + m_Name: SelectQualityLevel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &786493372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786493371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f1decc188d2f3146ab93291a5c743e9, type: 3} + m_Name: + m_EditorClassIdentifier: + qualityLevelIndex: 4 + callbacks: [] +--- !u!4 &786493373 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786493371} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1130147643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1130147646} + - component: {fileID: 1130147645} + - component: {fileID: 1130147644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1130147644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130147643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!108 &1130147645 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130147643} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.2 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 5000 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!4 &1130147646 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130147643} + serializedVersion: 2 + m_LocalRotation: {x: 0.2743377, y: -0.24816078, z: 0.07350856, w: 0.9261488} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 33, y: -30, z: 0} +--- !u!1 &1948532025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1948532029} + - component: {fileID: 1948532028} + - component: {fileID: 1948532027} + - component: {fileID: 1948532026} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1948532026 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948532025} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1948532027 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948532025} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 47f5bf986eba8b04caaac72bae63c36b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1948532028 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948532025} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1948532029 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948532025} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.7113333, y: -0.89, z: -0.41688156} + m_LocalScale: {x: 11.023, y: 11.023, z: 11.023} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 786493373} + - {fileID: 291658468} + - {fileID: 1948532029} + - {fileID: 1130147646} diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity.meta new file mode 100644 index 00000000000..ea47162956f --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea75814344b5aa24c9d981fdd991cd85 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/ProjectSettings/EditorBuildSettings.asset b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/ProjectSettings/EditorBuildSettings.asset index f4b9eece61f..27fdcf4c90e 100644 --- a/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/ProjectSettings/EditorBuildSettings.asset +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_PostPro/ProjectSettings/EditorBuildSettings.asset @@ -80,6 +80,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/108_UpscalingFilters_FSR.unity guid: 39df0b33bc51d7f40b6ee02863991adf + - enabled: 1 + path: Assets/Scenes/108_UpscalingFilters_FSR_Banding.unity + guid: ea75814344b5aa24c9d981fdd991cd85 - enabled: 1 path: Assets/Scenes/108_UpscalingFilters_FSR_Overlay.unity guid: 4a3d5fa0000f96048b95bf35caa3c44c From 9d4a304e2ea8006b96cacadc9500a7193af5fe73 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Mon, 20 Jan 2025 01:58:23 +0000 Subject: [PATCH 27/30] [Port] [2022.3] Fix HDRP sky rendering when Camera Relative Rendering is disabled This PR fixes HDRP sky rendering when Camera Relative Rendering is disabled. `ComputePixelCoordToWorldSpaceViewDirectionMatrix()` in `HDCamera.cs` contains: ``` ... if (useGenericMatrix) { var viewSpaceRasterTransform = new Matrix4x4( new Vector4(2.0f * resolution.z, 0.0f, 0.0f, -1.0f), new Vector4(0.0f, -2.0f * resolution.w, 0.0f, 1.0f), new Vector4(0.0f, 0.0f, 1.0f, 0.0f), new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); var transformT = viewConstants.invViewProjMatrix.transpose * Matrix4x4.Scale(new Vector3(-1.0f, -1.0f, -1.0f)); return viewSpaceRasterTransform * transformT; } ... ``` Here the view matrix that was used to build `viewConstants.invViewProjMatrix` has translation component if Camera Relative Rendering is disabled when it shouldn't. ![scene_view](https://github.cds.internal.unity3d.com/unity/unity/assets/7006/95047d07-52f3-4d19-8698-0120ad86987f) Scene View ![game_view_wrong](https://github.cds.internal.unity3d.com/unity/unity/assets/7006/2cb0b898-ddb2-4819-ae58-7900ce0c4221) Game View, bugged ![game_view_fixed](https://github.cds.internal.unity3d.com/unity/unity/assets/7006/0a9b4699-9737-426f-a605-fd51a5ae72eb) Game View, fixed --- .../Runtime/RenderPipeline/Camera/HDCamera.cs | 24 ++++++-- .../Tests/Editor/HDCameraTests.cs | 55 +++++++++++++++++++ .../Tests/Editor/HDCameraTests.cs.meta | 3 + 3 files changed, 77 insertions(+), 5 deletions(-) create mode 100644 Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs create mode 100644 Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs.meta diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs index 723513e0870..207f7685c38 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs @@ -1134,12 +1134,12 @@ internal void GetPixelCoordToViewDirWS(Vector4 resolution, float aspect, ref Mat { for (int viewIndex = 0; viewIndex < viewCount; ++viewIndex) { - transforms[viewIndex] = ComputePixelCoordToWorldSpaceViewDirectionMatrix(m_XRViewConstants[viewIndex], resolution, aspect); + transforms[viewIndex] = ComputePixelCoordToWorldSpaceViewDirectionMatrix(m_XRViewConstants[viewIndex], resolution, aspect, ShaderConfig.s_CameraRelativeRendering); } } else { - transforms[0] = ComputePixelCoordToWorldSpaceViewDirectionMatrix(mainViewConstants, resolution, aspect); + transforms[0] = ComputePixelCoordToWorldSpaceViewDirectionMatrix(mainViewConstants, resolution, aspect, ShaderConfig.s_CameraRelativeRendering); } } @@ -1720,7 +1720,7 @@ void UpdateViewConstants(ref ViewConstants viewConstants, Matrix4x4 projMatrix, viewConstants.viewProjectionNoCameraTrans = gpuVPNoTrans; var gpuProjAspect = HDUtils.ProjectionMatrixAspect(gpuProj); - viewConstants.pixelCoordToViewDirWS = ComputePixelCoordToWorldSpaceViewDirectionMatrix(viewConstants, screenSize, gpuProjAspect); + viewConstants.pixelCoordToViewDirWS = ComputePixelCoordToWorldSpaceViewDirectionMatrix(viewConstants, screenSize, gpuProjAspect, ShaderConfig.s_CameraRelativeRendering); if (updatePreviousFrameConstants) { @@ -1957,8 +1957,9 @@ internal Matrix4x4 GetJitteredProjectionMatrix(Matrix4x4 origProj) /// /// It is different from the aspect ratio of for anamorphic projections. /// + /// If non-zero, then assume Camera Relative Rendering is enabled. /// - Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewConstants, Vector4 resolution, float aspect = -1) + internal Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewConstants, Vector4 resolution, float aspect = -1, int cameraRelativeRendering = 1) { // In XR mode, or if explicitely required, use a more generic matrix to account for asymmetry in the projection var useGenericMatrix = xr.enabled || frameSettings.IsEnabled(FrameSettingsField.AsymmetricProjection); @@ -1977,7 +1978,20 @@ Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewCon new Vector4(0.0f, 0.0f, 1.0f, 0.0f), new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); - var transformT = viewConstants.invViewProjMatrix.transpose * Matrix4x4.Scale(new Vector3(-1.0f, -1.0f, -1.0f)); + Matrix4x4 transformT; + if (cameraRelativeRendering == 0) + { + // In case we are not camera relative, the view matrix used to calculate viewConstants.invViewProjMatrix + // contains translation component, so we need to remove it. + var viewNoTrans = viewConstants.viewMatrix; + viewNoTrans.SetColumn(3, new Vector4(0, 0, 0, 1)); + var invViewProj = (viewConstants.projMatrix * viewNoTrans).inverse; + transformT = invViewProj.transpose * Matrix4x4.Scale(new Vector3(-1.0f, -1.0f, -1.0f)); + } + else + { + transformT = viewConstants.invViewProjMatrix.transpose * Matrix4x4.Scale(new Vector3(-1.0f, -1.0f, -1.0f)); + } return viewSpaceRasterTransform * transformT; } diff --git a/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs b/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs new file mode 100644 index 00000000000..f9af53b10ab --- /dev/null +++ b/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs @@ -0,0 +1,55 @@ +using NUnit.Framework; +using UnityEngine.Experimental.Rendering; + +namespace UnityEngine.Rendering.HighDefinition.Tests +{ + class HDCameraTests + { + [SetUp] + public void Setup() + { + if (GraphicsSettings.currentRenderPipeline is not HDRenderPipelineAsset) + Assert.Ignore("This is an HDRP Tests, and the current pipeline is not HDRP."); + } + + [Test] + public void TestCameraRelativeRendering() + { + GameObject cameraGameObject = new GameObject("Camera"); + var camera = cameraGameObject.AddComponent(); + var hdCamera = new HDCamera(camera); + + var positionSettings = new CameraPositionSettings(); + positionSettings.position = new Vector3(100.0f, 300.0f, 500.0f); + positionSettings.rotation = Quaternion.Euler(62.34f, 185.53f, 323.563f); + + var resolution = new Vector4(1920.0f, 1080.0f, 1.0f / 1920.0f, 1.0f / 1080.0f); + float aspect = resolution.x * resolution.w; + + camera.worldToCameraMatrix = positionSettings.ComputeWorldToCameraMatrix(); + camera.projectionMatrix = Matrix4x4.Perspective(75.0f, aspect, 0.1f, 1000.0f); + + var view = camera.worldToCameraMatrix; + var proj = camera.projectionMatrix; + + // Minimal setup for ComputePixelCoordToWorldSpaceViewDirectionMatrix(). + var viewConstants = new HDCamera.ViewConstants(); + viewConstants.viewMatrix = view; + viewConstants.projMatrix = proj; + viewConstants.invViewProjMatrix = (proj * view).inverse; + + // hdCamera.xr must be initialized for ComputePixelCoordToWorldSpaceViewDirectionMatrix(). + var hdrp = HDRenderPipeline.currentPipeline; + hdCamera.Update(hdCamera.frameSettings, hdrp, XRSystem.emptyPass, allocateHistoryBuffers: false); + + var matrix0 = hdCamera.ComputePixelCoordToWorldSpaceViewDirectionMatrix(viewConstants, resolution, aspect, 0); + var matrix1 = hdCamera.ComputePixelCoordToWorldSpaceViewDirectionMatrix(viewConstants, resolution, aspect, 1); + + // These matrices convert a clip space position to a world space view direction, + // therefore should be same regardless of Camera Relative Rendering. + Assert.AreEqual(matrix0, matrix1, $"{matrix0} != {matrix1}"); + + CoreUtils.Destroy(cameraGameObject); + } + } +} diff --git a/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs.meta b/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs.meta new file mode 100644 index 00000000000..c0a9e3f79d1 --- /dev/null +++ b/Packages/com.unity.render-pipelines.high-definition/Tests/Editor/HDCameraTests.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 599a7e24f19b4c38a8f23735cf98b54f +timeCreated: 1735265964 \ No newline at end of file From ee10cbb3f0f8e18b8770b80cd0a8074898883bed Mon Sep 17 00:00:00 2001 From: Mark Green Date: Mon, 20 Jan 2025 22:36:05 +0000 Subject: [PATCH 28/30] [Port] [2022.3] DOCG-6464 Add steps to 2D sprite lit shader graph URP docs **This is a backport of https://github.cds.internal.unity3d.com/unity/unity/pull/59127** Add steps to the 2D sprite lit shader graph URP docs, to clarify connecting up transparency/alpha, and setting the normal map input. Response to user feedback. Jira tickets: - https://jira.unity3d.com/browse/DOCG-6464 - https://jira.unity3d.com/browse/DOCG-6465 --- .../Documentation~/ShaderGraph.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/ShaderGraph.md b/Packages/com.unity.render-pipelines.universal/Documentation~/ShaderGraph.md index d50f56c1f9c..f103e76146f 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/ShaderGraph.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/ShaderGraph.md @@ -30,7 +30,12 @@ 7. Drag each of the **Texture 2D** properties onto the editor window. Attach each of the properties to the **Input Slots** of the Sample Texture 2D Nodes as shown below. Note that the 'NormalMap' property must be attached to the **Normal Type** Node only. ![](Images/2D/2d-urp12-3-attach-properties.png)
    -8. Select **Save Asset** to save the Shader. + +8. Select the **NormalMap** property, then in the **Graph Inspector** set **Mode** to **Normal Map**. + +9. If your sprite texture has transparency, attach the alpha (**A**) output of the **Base Color** texture to the **Alpha** input of the **Fragment** context. + +10. Select **Save Asset** to save the Shader. ![](Images/2D/2d-urp12-3-save-shader.png) You can now apply the newly built Shader to materials. From 41c9c02ca3fc5557221fde9e09c02b1b0cbc6be4 Mon Sep 17 00:00:00 2001 From: Louis-Philippe Ledoux Date: Mon, 20 Jan 2025 22:36:05 +0000 Subject: [PATCH 29/30] [Port] [2022.3] Fixed two parameters being the wrong type leading to a warning This is to fix some warnings when using the multiplayer VR template and creating a build. Some shaders generated via shadergraph were doing an implicit truncation of values (specifically the 2 UV sets passed to the UnityMetaVertexPosition function). This has been fixed. Jira: https://jira.unity3d.com/browse/UUM-84269 --- .../Editor/ShaderGraph/Includes/Varyings.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl b/Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl index 01648a2599b..9d6e390890c 100644 --- a/Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl +++ b/Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl @@ -133,7 +133,7 @@ Varyings BuildVaryings(Attributes input) output.positionCS.z = max(output.positionCS.z, UNITY_NEAR_CLIP_VALUE); #endif #elif (SHADERPASS == SHADERPASS_META) - output.positionCS = UnityMetaVertexPosition(input.positionOS, input.uv1, input.uv2, unity_LightmapST, unity_DynamicLightmapST); + output.positionCS = UnityMetaVertexPosition(input.positionOS, input.uv1.xy, input.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); #else output.positionCS = TransformWorldToHClip(positionWS); #endif From 2338c995fa1ddb13d58768de3aeea57021e383fc Mon Sep 17 00:00:00 2001 From: Mark Green Date: Wed, 22 Jan 2025 01:43:46 +0000 Subject: [PATCH 30/30] [Backport] [2022.3] Improve URP blitting docs (from DOCG-6282) This is an **edited backport** of https://github.cds.internal.unity3d.com/unity/unity/pull/58119, which fixes some issues with the blitting documentation in URP. Jira ticket: https://jira.unity3d.com/browse/DOCG-6268 --- .../Documentation~/TableOfContents.md | 5 +- .../Documentation~/customize/blit-overview.md | 34 +- .../post-processing/custom-post-processing.md | 6 +- .../create-custom-renderer-feature.md | 709 ------------------ .../how-to-fullscreen-blit.md | 288 ++++--- .../intro-to-scriptable-render-passes.md | 2 +- ...y-scriptable-feature-to-specific-camera.md | 4 +- ...ass-using-a-scriptable-renderer-feature.md | 47 +- .../intro-to-scriptable-renderer-features.md | 2 +- .../scriptable-renderer-feature-reference.md | 2 +- .../scriptable-renderer-features-landing.md | 2 +- .../write-a-scriptable-render-pass.md | 278 +------ .../Documentation~/working-with-textures.md | 10 +- 13 files changed, 199 insertions(+), 1190 deletions(-) delete mode 100644 Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/create-custom-renderer-feature.md diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/TableOfContents.md b/Packages/com.unity.render-pipelines.universal/Documentation~/TableOfContents.md index 539b5f91dde..62c2c716619 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/TableOfContents.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/TableOfContents.md @@ -148,10 +148,9 @@ * [Introduction to Scriptable Renderer Features](renderer-features/scriptable-renderer-features/intro-to-scriptable-renderer-features.md) * [Inject a custom render pass using a Scriptable Renderer Feature](renderer-features/scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md) * [Apply a Scriptable Renderer Feature to a specific camera type](renderer-features/scriptable-renderer-features/apply-scriptable-feature-to-specific-camera.md) - * [Example of a complete Scriptable Renderer Feature](renderer-features/create-custom-renderer-feature.md) + * [Example of a complete Scriptable Renderer Feature](renderer-features/how-to-fullscreen-blit.md) * [Using textures](working-with-textures.md) - * [URP blit best practices](customize/blit-overview.md) - * [Perform a full screen blit in URP](renderer-features/how-to-fullscreen-blit.md) + * [Blit](customize/blit-overview.md) * [Blit input and output textures](customize/blit-to-rthandle.md) * [Blit multiple RTHandle textures](customize/blit-multiple-rthandles.md) * [Injection points reference](customize/custom-pass-injection-points.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md b/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md index dd48037b803..7b0f84f6fc2 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/customize/blit-overview.md @@ -1,27 +1,23 @@ -# URP blit best practices +# Blit in URP -A blit operation is a process of copying a source texture to a destination texture. +To blit from one texture to another in a custom render pass in the Universal Render Pipeline (URP), use the [Blitter API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@latest?subfolder=/api/UnityEngine.Rendering.Blitter.html) from the Core Scriptable Render Pipeline (SRP). -This page provides an overview of different ways to perform a blit operation in URP and best practices to follow when writing custom render passes. +The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](https://docs.unity3d.com/2022.3/Documentation/Manual/shader-graph.html) shaders aren't compatible with the `Blitter` API. -## The legacy CommandBuffer.Blit API +**Note:** The recommended best practice is not to use the `CommandBuffer.Blit` or `Graphics.Blit` APIs with URP, or APIs that use them internally such as `RenderingUtils.Blit`. These APIs might break XR rendering, and aren't compatible with native render passes. You can still use `CommandBuffer.Blit` and `Graphics.Blit` with the Built-In Render Pipeline. -Avoid using the [CommandBuffer.Blit](https://docs.unity3d.com/2022.1/Documentation/ScriptReference/Rendering.CommandBuffer.Blit.html) API in URP projects. +For example, add the following: -The [CommandBuffer.Blit](https://docs.unity3d.com/2022.1/Documentation/ScriptReference/Rendering.CommandBuffer.Blit.html) API is the legacy API. It implicitly runs extra operations related to changing states, binding textures, and setting render targets. Those operations happen under the hood in SRP projects and are not transparent to the user. +```c# +{ + Blitter.BlitCameraTexture(commandBuffer, sourceTexture, destinationTexture, materialToUse, passNumber); +} +``` -The API has compatibility issues with the URP XR integration. Using `cmd.Blit` might implicitly enable or disable XR shader keywords, which breaks XR SPI rendering. +For a full example, refer to [Example of a complete Scriptable Renderer Feature](../renderer-features/how-to-fullscreen-blit.md). -The [CommandBuffer.Blit](https://docs.unity3d.com/2022.1/Documentation/ScriptReference/Rendering.CommandBuffer.Blit.html) API is not compatible with `NativeRenderPass` and `RenderGraph`. +## Additional resources -Similar considerations apply to any utilities or wrappers relying on `cmd.Blit` internally, `RenderingUtils.Blit` is one such example. - -## SRP Blitter API - -Use the [Blitter API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@13.1/api/UnityEngine.Rendering.Blitter.html) in URP projects. This API does not rely on legacy logic, and is compatible with XR, native Render Passes, and other SRP APIs. - -The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](xref:um-shader-graph) shaders aren't compatible with the `Blitter` API. - -## Custom full-screen blit example - -The [How to perform a full screen blit in URP](../renderer-features/how-to-fullscreen-blit.md) example shows how to create a custom Renderer Feature that performs a full screen blit. The example works in XR and is compatible with SRP APIs. +- The blit examples in the [URP Package Samples](../package-sample-urp-package-samples.md) +- [Custom render pass workflow](../renderer-features/custom-rendering-pass-workflow-in-urp.md) +- [Using textures](../working-with-textures.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/custom-post-processing.md b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/custom-post-processing.md index 1cd4806f160..43997f0fba9 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/custom-post-processing.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/post-processing/custom-post-processing.md @@ -13,4 +13,8 @@ The following pages describe different approaches to creating custom post-proces | [Create a low-code custom post-processing effect](post-processing-custom-effect-low-code.md) | How to use a Full Screen Render Pass to create a low-code custom post-processing effect. | | [Full Screen Pass Renderer Feature reference](../renderer-features/renderer-feature-full-screen-pass.md) | Understand the Full Screen Pass Renderer Feature. | | [Creating a full-screen shader in Shader Graph in URP](../urp-shaders/fullscreen-master-stack-urp.md) | Resources for working with the Fullscreen Master Stack to create full screen shaders in Shader Graph. | -| [Example of a complete Scriptable Renderer Feature](../renderer-features/create-custom-renderer-feature.md) | You can use a custom Renderer Feature with a Volume component support for implementing custom post-processing effects. | + +## Additional resources + +- [Example of a complete Scriptable Renderer Feature](../renderer-features/how-to-fullscreen-blit.md) + diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/create-custom-renderer-feature.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/create-custom-renderer-feature.md deleted file mode 100644 index 0091a76e859..00000000000 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/create-custom-renderer-feature.md +++ /dev/null @@ -1,709 +0,0 @@ -# Example of a complete Scriptable Renderer Feature - -This section describes how to create a complete [Scriptable Renderer Feature](./scriptable-renderer-features/intro-to-scriptable-renderer-features.md) for a URP Renderer. - -This walkthrough contains the following sections: - -* [Overview of this example implementation](#example-implementation-overview) -* [Create example Scene and GameObjects](#example-scene) -* [Create a scriptable Renderer Feature and add it to the Universal Renderer](#scriptable-renderer-feature) - * [Add the Renderer Feature to the the Universal Renderer asset](#add-renderer-feature-to-asset) -* [Create the scriptable Render Pass](#scriptable-render-pass) -* [Implement the settings for the custom render pass](#implement-the-settings-for-the-custom-render-pass) -* [Enqueue the render pass in the custom renderer feature](#enqueue-the-render-pass-in-the-custom-renderer-feature) -* [Implement the volume component](#volume-component) -* [Complete code for the scripts in this example](#complete-code-for-the-scripts-in-this-example) - * [Custom Renderer Feature code](#code-renderer-feature) - * [Custom render pass code](#code-render-pass) - * [Volume Component code](#code-volume-component) -* [The custom shader for the blur effect](#example-shader) - -## Overview of this example implementation - -The example workflow on this page implements a custom Renderer Feature that uses [custom Render Passes](./intro-to-scriptable-render-passes.md) to add a blur effect to the camera output. - -The implementation consists of the following parts: - -* A `ScriptableRendererFeature` instance that enqueues a `ScriptableRenderPass` instance every frame. - -* A `ScriptableRenderPass` instance that performs the following steps: - - * Creates a temporary render texture using the `RenderTextureDescriptor` API. - - * Applies two passes of the [custom shader](#example-shader) to the camera output using the `RTHandle` and the `Blit` API. - -## Create example Scene and GameObjects - -To set your project up for this example workflow: - -1. Create a new Scene. - -1. Create two GameObjects: a Cube GameObject called `Cube`, and a Sphere GameObject called `Sphere`. - -2. Create two Materials with a shader that lets you specify the base color (for example, the `Universal Render Pipeline/Lit` shader). Call the Materials `Blue` and `Red`, and set the base colors of the Materials to blue and red respectively. - -3. Assign the `Red` Material to the cube and the `Blue` Material to the sphere. - -3. Position the camera so that it has the cube and the sphere in its view. - -The sample scene should look like the following image: - -![Sample scene](../Images/customizing-urp/custom-renderer-feature/sample-scene.png) - -## Create a scriptable Renderer Feature and add it to the Universal Renderer - -1. Create a new C# script and name it `BlurRendererFeature.cs`. - -2. In the script, remove the code that Unity inserted in the `BlurRendererFeature` class. - -3. Add the following `using` directive: - - ```C# - using UnityEngine.Rendering.Universal; - ``` - -3. Create the `BlurRendererFeature` class that inherits from the **ScriptableRendererFeature** class. - - ```C# - public class BlurRendererFeature : ScriptableRendererFeature - ``` - -4. In the `BlurRendererFeature` class, implement the following methods: - - * `Create`: Unity calls this method on the following events: - - * When the Renderer Feature loads the first time. - - * When you enable or disable the Renderer Feature. - - * When you change a property in the inspector of the Renderer Feature. - - * `AddRenderPasses`: Unity calls this method every frame, once for each camera. This method lets you inject `ScriptableRenderPass` instances into the scriptable Renderer. - -Now you have the custom `BlurRendererFeature` Renderer Feature with its main methods. - -Below is the complete code for this step. - -```C# -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Rendering.Universal; - -public class BlurRendererFeature : ScriptableRendererFeature -{ - public override void Create() - { - - } - - public override void AddRenderPasses(ScriptableRenderer renderer, - ref RenderingData renderingData) - { - - } -} -``` - -### Add the Renderer Feature to the the Universal Renderer asset - -Add the Renderer Feature you created to the the Universal Renderer asset. For information on how to do this, refer to the page [How to add a Renderer Feature to a Renderer](../urp-renderer-feature-how-to-add.md). - -## Create the scriptable Render Pass - -This section demonstrates how to create a scriptable Render Pass and enqueue its instance into the scriptable Renderer. - -1. Create a new C# script and name it `BlurRenderPass.cs`. - -2. In the script, remove the code that Unity inserted in the `BlurRenderPass` class. Add the following `using` directive: - - ```C# - using UnityEngine.Rendering; - using UnityEngine.Rendering.Universal; - ``` - -3. Create the `BlurRenderPass` class that inherits from the **ScriptableRenderPass** class. - - ```C# - public class BlurRenderPass : ScriptableRenderPass - ``` - -4. Add the `Execute` method to the class. Unity calls this method every frame, once for each camera. This method lets you implement the rendering logic of the scriptable Render Pass. - - ```C# - public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) - { } - ``` - -Below is the complete code for the BlurRenderPass.cs file from this section. - -```C# -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class BlurRenderPass : ScriptableRenderPass -{ - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) - { - - } -} -``` - -## Implement the settings for the custom render pass - -This section demonstrates how to implement the settings for the custom blur render pass. - -1. The Renderer Feature in this example uses the [shader](#example-shader) that performs the blur horizontally in one pass, and vertically in another pass. To let users control the blur value for each pass, add the following `BlurSettings` class to the `BlurRendererFeature.cs` script. - - ```C# - [Serializable] - public class BlurSettings - { - [Range(0,0.4f)] public float horizontalBlur; - [Range(0,0.4f)] public float verticalBlur; - } - ``` - -2. In the `BlurRendererFeature` class, declare the following fields: - - ```C# - [SerializeField] private BlurSettings settings; - [SerializeField] private Shader shader; - private Material material; - private BlurRenderPass blurRenderPass; - ``` - -3. In the `BlurRenderPass` class, add the fields for the settings, the Material, and the constructor that uses those fields. - - ```C# - private BlurSettings defaultSettings; - private Material material; - - public BlurRenderPass(Material material, BlurSettings defaultSettings) - { - this.material = material; - this.defaultSettings = defaultSettings; - } - ``` - -4. In the `BlurRenderPass` class, add the `RenderTextureDescriptor` field and initialize it in the constructor: - - ```C# - using UnityEngine; - - private RenderTextureDescriptor blurTextureDescriptor; - - public BlurRenderPass(Material material, BlurSettings defaultSettings) - { - this.material = material; - this.defaultSettings = defaultSettings; - - blurTextureDescriptor = new RenderTextureDescriptor(Screen.width, - Screen.height, RenderTextureFormat.Default, 0); - } - ``` - -5. In the `BlurRenderPass` class, declare the `RTHandle` field to store the reference to the temporary blur texture. - - ```C# - private RTHandle blurTextureHandle; - ``` - -6. In the `BlurRenderPass` class, implement the `Configure` method. Unity calls this method before executing the render pass. - - ```C# - public override void Configure(CommandBuffer cmd, - RenderTextureDescriptor cameraTextureDescriptor) - { - //Set the blur texture size to be the same as the camera target size. - blurTextureDescriptor.width = cameraTextureDescriptor.width; - blurTextureDescriptor.height = cameraTextureDescriptor.height; - - //Check if the descriptor has changed, and reallocate the RTHandle if necessary. - RenderingUtils.ReAllocateIfNeeded(ref blurTextureHandle, blurTextureDescriptor); - } - ``` - -7. In the `BlurRenderPass` class, implement the `UpdateBlurSettings` method that updates the shader values. - - Use the `Blit` method to apply the two passes from the custom shader to the camera output. - - ```C# - private static readonly int horizontalBlurId = - Shader.PropertyToID("_HorizontalBlur"); - private static readonly int verticalBlurId = - Shader.PropertyToID("_VerticalBlur"); - - ... - - private void UpdateBlurSettings() - { - if (material == null) return; - - material.SetFloat(horizontalBlurId, defaultSettings.horizontalBlur); - material.SetFloat(verticalBlurId, defaultSettings.verticalBlur); - } - ``` - -8. Call the `UpdateBlurSettings` method in the `Execute` method. - - ```C# - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) - { - //Get a CommandBuffer from pool. - CommandBuffer cmd = CommandBufferPool.Get(); - - RTHandle cameraTargetHandle = - renderingData.cameraData.renderer.cameraColorTargetHandle; - - UpdateBlurSettings(); - - // Blit from the camera target to the temporary render texture, - // using the first shader pass. - Blit(cmd, cameraTargetHandle, blurTextureHandle, material, 0); - // Blit from the temporary render texture to the camera target, - // using the second shader pass. - Blit(cmd, blurTextureHandle, cameraTargetHandle, material, 1); - - //Execute the command buffer and release it back to the pool. - context.ExecuteCommandBuffer(cmd); - CommandBufferPool.Release(cmd); - } - ``` - -9. Implement the `Dispose` method that destroys the Material and the temporary render texture after the render pass execution. - - ```C# - public void Dispose() - { - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Object.Destroy(material); - } - else - { - Object.DestroyImmediate(material); - } - #else - Object.Destroy(material); - #endif - - if (blurTextureHandle != null) blurTextureHandle.Release(); - } - ``` - -The complete code for this part is in section [Custom render pass code](#code-render-pass). - -## Enqueue the render pass in the custom renderer feature - -In this section, you instantiate the render pass in the `Create` method of the `BlurRendererFeature` class, and enqueue it in the `AddRenderPasses` method. - -1. In the `Create` method of the `BlurRendererFeature` class, instantiate the `BlurRenderPass` class. - - In the method, use the `renderPassEvent` field to specify when to execute the render pass. - - ```C# - public override void Create() - { - if (shader == null) - { - return; - } - material = new Material(shader); - blurRenderPass = new BlurRenderPass(material, settings); - - renderPassEvent = RenderPassEvent.AfterRenderingSkybox; - } - ``` - -2. In the `AddRenderPasses` method of the `BlurRendererFeature` class, enqueue the render pass with the `EnqueuePass` method. - - ```C# - public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) - { - if (renderingData.cameraData.cameraType == CameraType.Game) - { - renderer.EnqueuePass(blurRenderPass); - } - } - ``` - -3. Implement the `Dispose` method that destroys the material instance that the Renderer Feature creates. The method also calls the `Dispose` method from the render pass class. - - ```C# - protected override void Dispose(bool disposing) - { - blurRenderPass.Dispose(); - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Destroy(material); - } - else - { - DestroyImmediate(material); - } - #else - Destroy(material); - #endif - } - ``` - -For the complete Renderer Feature code, refer to section [Custom Renderer Feature code](#code-renderer-feature). - -The Scriptable Renderer Feature is now complete. The following image shows the effect of the feature in the Game view and the example settings. - -![The effect of the Scriptable Renderer Feature in the Game view](../Images/customizing-urp/custom-renderer-feature/final-effect.png)
    *The effect of the Scriptable Renderer Feature in the Game view.* - -## Implement the volume component - -This section shows how to implement a volume component that lets you control the input values for the custom renderer feature. - -1. Create a new C# script and name it `CustomVolumeComponent.cs`. - -1. Inherit the `CustomVolumeComponent` class from the `VolumeComponent` class, add the `[Serializable]` attribute to the class. Add the `using UnityEngine.Rendering;` directive. - - ```C# - using System; - using UnityEngine.Rendering; - - [Serializable] - public class CustomVolumeComponent : VolumeComponent - { - - } - ``` - -2. Add the `BoolParameter` field to the `CustomVolumeComponent` class. This field lets you enable or disable the custom renderer feature. - - ```C# - public class BlurVolumeComponent : VolumeComponent - { - public BoolParameter isActive = new BoolParameter(true); - } - ``` - -3. Add the fields to control the blur settings defined in the custom renderer feature. - - ```C# - [Serializable] - public class CustomVolumeComponent : VolumeComponent - { - public BoolParameter isActive = new BoolParameter(true); - public ClampedFloatParameter horizontalBlur = - new ClampedFloatParameter(0.05f, 0, 0.5f); - public ClampedFloatParameter verticalBlur = - new ClampedFloatParameter(0.05f, 0, 0.5f); - } - ``` - -4. In the `BlurRenderPass` script, change the `UpdateBlurSettings` method so that it uses the settings defined in a Volume or the default settings if no Volume is set. - - ```C# - private void UpdateBlurSettings() - { - if (material == null) return; - - // Use the Volume settings or the default settings if no Volume is set. - var volumeComponent = - VolumeManager.instance.stack.GetComponent(); - float horizontalBlur = volumeComponent.horizontalBlur.overrideState ? - volumeComponent.horizontalBlur.value : defaultSettings.horizontalBlur; - float verticalBlur = volumeComponent.verticalBlur.overrideState ? - volumeComponent.verticalBlur.value : defaultSettings.verticalBlur; - material.SetFloat(horizontalBlurId, horizontalBlur); - material.SetFloat(verticalBlurId, verticalBlur); - } - ``` - -5. In the Unity scene, create a [local Box Volume](../Volumes.md). If a [Volume Profile](../VolumeProfile.md) is missing, create a new one by clicking **New** next to the **Profile** property. Add the `Custom Volume Component` [override](../VolumeOverrides.md) to the Volume. - - ![Box Volume properties](../Images/customizing-urp/custom-renderer-feature/local-volume.png) - -6. Enable the settings in the `Custom Volume Component` override and set the values for this Volume. Move the Volume so that the camera is inside it. The settings from the Volume override the default settings from the custom renderer feature. - -## All complete code for the scripts in this example - -This section contains the complete code for all the scripts in this example. - -### Custom Renderer Feature code - -Below is the complete code for the custom Renderer Feature script. - -```C# -using System; -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering.Universal; - -public class BlurRendererFeature : ScriptableRendererFeature -{ - [SerializeField] private BlurSettings settings; - [SerializeField] private Shader shader; - private Material material; - private BlurRenderPass blurRenderPass; - - public override void Create() - { - if (shader == null) - { - return; - } - material = new Material(shader); - blurRenderPass = new BlurRenderPass(material, settings); - - blurRenderPass.renderPassEvent = RenderPassEvent.AfterRenderingSkybox; - } - - public override void AddRenderPasses(ScriptableRenderer renderer, - ref RenderingData renderingData) - { - if (renderingData.cameraData.cameraType == CameraType.Game) - { - renderer.EnqueuePass(blurRenderPass); - } - } - - protected override void Dispose(bool disposing) - { - blurRenderPass.Dispose(); - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Destroy(material); - } - else - { - DestroyImmediate(material); - } - #else - Destroy(material); - #endif - } -} - -[Serializable] -public class BlurSettings -{ - [Range(0, 0.4f)] public float horizontalBlur; - [Range(0, 0.4f)] public float verticalBlur; -} -``` - -### Custom render pass code - -Below is the complete code for the custom Render Pass script. - -```C# -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class BlurRenderPass : ScriptableRenderPass -{ - private static readonly int horizontalBlurId = - Shader.PropertyToID("_HorizontalBlur"); - private static readonly int verticalBlurId = - Shader.PropertyToID("_VerticalBlur"); - - private BlurSettings defaultSettings; - private Material material; - - private RenderTextureDescriptor blurTextureDescriptor; - private RTHandle blurTextureHandle; - - public BlurRenderPass(Material material, BlurSettings defaultSettings) - { - this.material = material; - this.defaultSettings = defaultSettings; - - blurTextureDescriptor = new RenderTextureDescriptor(Screen.width, - Screen.height, RenderTextureFormat.Default, 0); - } - - public override void Configure(CommandBuffer cmd, - RenderTextureDescriptor cameraTextureDescriptor) - { - // Set the blur texture size to be the same as the camera target size. - blurTextureDescriptor.width = cameraTextureDescriptor.width; - blurTextureDescriptor.height = cameraTextureDescriptor.height; - - // Check if the descriptor has changed, and reallocate the RTHandle if necessary - RenderingUtils.ReAllocateIfNeeded(ref blurTextureHandle, blurTextureDescriptor); - } - - private void UpdateBlurSettings() - { - if (material == null) return; - - // Use the Volume settings or the default settings if no Volume is set. - var volumeComponent = - VolumeManager.instance.stack.GetComponent(); - float horizontalBlur = volumeComponent.horizontalBlur.overrideState ? - volumeComponent.horizontalBlur.value : defaultSettings.horizontalBlur; - float verticalBlur = volumeComponent.verticalBlur.overrideState ? - volumeComponent.verticalBlur.value : defaultSettings.verticalBlur; - material.SetFloat(horizontalBlurId, horizontalBlur); - material.SetFloat(verticalBlurId, verticalBlur); - } - - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) - { - //Get a CommandBuffer from pool. - CommandBuffer cmd = CommandBufferPool.Get(); - - RTHandle cameraTargetHandle = - renderingData.cameraData.renderer.cameraColorTargetHandle; - - UpdateBlurSettings(); - - // Blit from the camera target to the temporary render texture, - // using the first shader pass. - Blit(cmd, cameraTargetHandle, blurTextureHandle, material, 0); - // Blit from the temporary render texture to the camera target, - // using the second shader pass. - Blit(cmd, blurTextureHandle, cameraTargetHandle, material, 1); - - //Execute the command buffer and release it back to the pool. - context.ExecuteCommandBuffer(cmd); - CommandBufferPool.Release(cmd); - } - - public void Dispose() - { - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Object.Destroy(material); - } - else - { - Object.DestroyImmediate(material); - } - #else - Object.Destroy(material); - #endif - - if (blurTextureHandle != null) blurTextureHandle.Release(); - } -} -``` - -### Volume Component code - -Below is the complete code for the Volume Component script. - -```C# -using System; -using UnityEngine.Rendering; - -[Serializable] -public class CustomVolumeComponent : VolumeComponent -{ - public BoolParameter isActive = new BoolParameter(true); - public ClampedFloatParameter horizontalBlur = - new ClampedFloatParameter(0.05f, 0, 0.5f); - public ClampedFloatParameter verticalBlur = - new ClampedFloatParameter(0.05f, 0, 0.5f); -} -``` - -## The custom shader for the blur effect - -This section contains the code for the custom shader that implements the blur effect. - -```c++ -Shader "CustomEffects/Blur" -{ - HLSLINCLUDE - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - // The Blit.hlsl file provides the vertex shader (Vert), - // the input structure (Attributes), and the output structure (Varyings) - #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" - - float _VerticalBlur; - float _HorizontalBlur; - - float4 _BlitTexture_TexelSize; - - float4 BlurVertical (Varyings input) : SV_Target - { - const float BLUR_SAMPLES = 64; - const float BLUR_SAMPLES_RANGE = BLUR_SAMPLES / 2; - - float3 color = 0; - float blurPixels = _VerticalBlur * _ScreenParams.y; - - for(float i = -BLUR_SAMPLES_RANGE; i <= BLUR_SAMPLES_RANGE; i++) - { - float2 sampleOffset = - float2 (0, (blurPixels / _BlitTexture_TexelSize.w) * - (i / BLUR_SAMPLES_RANGE)); - color += - SAMPLE_TEXTURE2D(_BlitTexture, sampler_LinearClamp, - input.texcoord + sampleOffset).rgb; - } - - return float4(color.rgb / (BLUR_SAMPLES + 1), 1); - } - - float4 BlurHorizontal (Varyings input) : SV_Target - { - const float BLUR_SAMPLES = 64; - const float BLUR_SAMPLES_RANGE = BLUR_SAMPLES / 2; - - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); - float3 color = 0; - float blurPixels = _HorizontalBlur * _ScreenParams.x; - for(float i = -BLUR_SAMPLES_RANGE; i <= BLUR_SAMPLES_RANGE; i++) - { - float2 sampleOffset = - float2 ((blurPixels / _BlitTexture_TexelSize.z) * - (i / BLUR_SAMPLES_RANGE), 0); - color += - SAMPLE_TEXTURE2D(_BlitTexture, sampler_LinearClamp, - input.texcoord + sampleOffset).rgb; - } - return float4(color / (BLUR_SAMPLES + 1), 1); - } - - ENDHLSL - - SubShader - { - Tags { "RenderType"="Opaque" "RenderPipeline" = "UniversalPipeline"} - LOD 100 - ZWrite Off Cull Off - Pass - { - Name "BlurPassVertical" - - HLSLPROGRAM - - #pragma vertex Vert - #pragma fragment BlurVertical - - ENDHLSL - } - - Pass - { - Name "BlurPassHorizontal" - - HLSLPROGRAM - - #pragma vertex Vert - #pragma fragment BlurHorizontal - - ENDHLSL - } - } -} -``` \ No newline at end of file diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md index 0de0856f1f0..f73a33ec183 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-fullscreen-blit.md @@ -1,209 +1,183 @@ -# Perform a full screen blit in URP +# Example of a complete Scriptable Renderer Feature -The example on this page describes how to create a custom Renderer Feature that performs a full screen blit. +The example on this page performs a full-screen blit that tints the screen green. -## Example overview +To use the examples, follow these steps: -This example implements the following solution: +1. To create the custom render pass, create a new C# script called `ColorBlitPass.cs`, then paste in the code from the [Example custom render pass](#render-pass) section. -* A [custom Renderer Feature](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/api/UnityEngine.Rendering.Universal.ScriptableRendererFeature.html) calls a custom [Render Pass](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/api/UnityEngine.Rendering.Universal.ScriptableRenderPass.html). + **Note:** The example uses the `Blitter` API. Don't use the `CommandBuffer.Blit` API in URP. Refer to [Blit](../customize/blit-overview) for more information. -* The [Render Pass](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/api/UnityEngine.Rendering.Universal.ScriptableRenderPass.html) blits the Opaque Texture to the the [Camera color target](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.0/api/UnityEngine.Rendering.Universal.ScriptableRenderer.html#UnityEngine_Rendering_Universal_ScriptableRenderer_cameraColorTarget) for the current renderer. The render pass uses the command buffer to draw a full screen mesh for both eyes. +2. To create the Scriptable Renderer Feature that adds the custom render pass to the render loop, create a new C# script called `ColorBlitRendererFeature.cs`, then paste in the code from the [Example Scriptable Renderer Feature](#scriptable-renderer-feature) section. -The example includes [the shader](#shader) that performs the GPU side of the rendering. The shader samples the color buffer using XR sampler macros. +3. To create the shader code that tints the pixels green, [create a shader file](https://docs.unity3d.com/2022.3/Documentation/Manual/class-Shader.html), then paste in the code from the [Example shader](#shader) section. -## Prerequisites +4. Add the `ColorBlitRendererFeature` to the current URP Renderer asset. For more information, refer to [Add a Renderer Feature to a URP Renderer](../urp-renderer-feature.md). -This example requires the following: +To change the brightness, adjust the **Intensity** property in the **Color Blit Renderer Feature** component. -* The **Scriptable Render Pipeline Settings** property refers to a URP asset (**Project Settings** > **Graphics** > **Scriptable Render Pipeline Settings**). +**Note:** To visualize the example if your project uses XR, install the [MockHMD XR Plugin](https://docs.unity3d.com/Packages/com.unity.xr.mock-hmd@latest/) package in your project, then set the **Render Mode** property to **Single Pass Instanced**. -## Create example Scene and GameObjects + +## Example custom render pass -To follow the steps in this example, create a new Scene with the following GameObjects: +```C# +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; -1. Create a Cube. Ensure that the Cube is clearly visible from the main Camera. +internal class ColorBlitPass : ScriptableRenderPass +{ + ProfilingSampler m_ProfilingSampler = new ProfilingSampler("ColorBlit"); + Material m_Material; + RTHandle m_CameraColorTarget; + float m_Intensity; - ![](../Images/how-to/blit/example-scene.png) - -Now you have the Scene necessary to follow the steps in this example. - -## Example implementation - -This section assumes that you created a Scene as described in section [Create example Scene and GameObjects](#example-objects). - -Follow these steps to create a [custom Renderer Feature](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/api/UnityEngine.Rendering.Universal.ScriptableRendererFeature.html) with a custom [Render Pass](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/api/UnityEngine.Rendering.Universal.ScriptableRenderPass.html). - -1. Create a new C# script. Call it `ColorBlitRendererFeature.cs`. This script implements the custom Renderer Feature. - - ```C# - using UnityEngine; - using UnityEngine.Rendering; - using UnityEngine.Rendering.Universal; - - internal class ColorBlitRendererFeature : ScriptableRendererFeature + public ColorBlitPass(Material material) { - public Shader m_Shader; - public float m_Intensity; + m_Material = material; + renderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing; + } - Material m_Material; + public void SetTarget(RTHandle colorHandle, float intensity) + { + m_CameraColorTarget = colorHandle; + m_Intensity = intensity; + } - ColorBlitPass m_RenderPass = null; + public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) + { + ConfigureTarget(m_CameraColorTarget); + } - public override void AddRenderPasses(ScriptableRenderer renderer, - ref RenderingData renderingData) - { - if (renderingData.cameraData.cameraType == CameraType.Game) - renderer.EnqueuePass(m_RenderPass); - } + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + var cameraData = renderingData.cameraData; + if (cameraData.camera.cameraType != CameraType.Game) + return; - public override void SetupRenderPasses(ScriptableRenderer renderer, - in RenderingData renderingData) - { - if (renderingData.cameraData.cameraType == CameraType.Game) - { - // Calling ConfigureInput with the ScriptableRenderPassInput.Color argument - // ensures that the opaque texture is available to the Render Pass. - m_RenderPass.ConfigureInput(ScriptableRenderPassInput.Color); - m_RenderPass.SetTarget(renderer.cameraColorTargetHandle, m_Intensity); - } - } + if (m_Material == null) + return; - public override void Create() + CommandBuffer cmd = CommandBufferPool.Get(); + using (new ProfilingScope(cmd, m_ProfilingSampler)) { - m_Material = CoreUtils.CreateEngineMaterial(m_Shader); - m_RenderPass = new ColorBlitPass(m_Material); + m_Material.SetFloat("_Intensity", m_Intensity); + Blitter.BlitCameraTexture(cmd, m_CameraColorTarget, m_CameraColorTarget, m_Material, 0); } + context.ExecuteCommandBuffer(cmd); + cmd.Clear(); - protected override void Dispose(bool disposing) - { - CoreUtils.Destroy(m_Material); - } + CommandBufferPool.Release(cmd); } - ``` +} +``` -2. Create a new C# script. Call it `ColorBlitPass.cs`. This script implements the custom Render Pass that performs the custom blit draw call. + +## Example Scriptable Renderer Feature - This Render Pass uses the `Blitter.BlitCameraTexture` method to draw a full-screen quad and perform the blit operation. +The Scriptable Renderer Feature adds the render pass to the render loop. - > **NOTE:** Do not use the `cmd.Blit` method in URP XR projects because that method has compatibility issues with the URP XR integration. Using `cmd.Blit` might implicitly enable or disable XR shader keywords, which breaks XR SPI rendering. +```C# +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; - ```C# - using UnityEngine; - using UnityEngine.Rendering; - using UnityEngine.Rendering.Universal; +internal class ColorBlitRendererFeature : ScriptableRendererFeature +{ + public Shader m_Shader; + public float m_Intensity; - internal class ColorBlitPass : ScriptableRenderPass - { - ProfilingSampler m_ProfilingSampler = new ProfilingSampler("ColorBlit"); - Material m_Material; - RTHandle m_CameraColorTarget; - float m_Intensity; + Material m_Material; - public ColorBlitPass(Material material) - { - m_Material = material; - renderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing; - } + ColorBlitPass m_RenderPass = null; - public void SetTarget(RTHandle colorHandle, float intensity) - { - m_CameraColorTarget = colorHandle; - m_Intensity = intensity; - } + public override void AddRenderPasses(ScriptableRenderer renderer, + ref RenderingData renderingData) + { + if (renderingData.cameraData.cameraType == CameraType.Game) + renderer.EnqueuePass(m_RenderPass); + } - public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) + public override void SetupRenderPasses(ScriptableRenderer renderer, + in RenderingData renderingData) + { + if (renderingData.cameraData.cameraType == CameraType.Game) { - ConfigureTarget(m_CameraColorTarget); + // Calling ConfigureInput with the ScriptableRenderPassInput.Color argument + // ensures that the opaque texture is available to the Render Pass. + m_RenderPass.ConfigureInput(ScriptableRenderPassInput.Color); + m_RenderPass.SetTarget(renderer.cameraColorTargetHandle, m_Intensity); } + } - public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) - { - var cameraData = renderingData.cameraData; - if (cameraData.camera.cameraType != CameraType.Game) - return; - - if (m_Material == null) - return; - - CommandBuffer cmd = CommandBufferPool.Get(); - using (new ProfilingScope(cmd, m_ProfilingSampler)) - { - m_Material.SetFloat("_Intensity", m_Intensity); - Blitter.BlitCameraTexture(cmd, m_CameraColorTarget, m_CameraColorTarget, m_Material, 0); - } - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); + public override void Create() + { + m_Material = CoreUtils.CreateEngineMaterial(m_Shader); + m_RenderPass = new ColorBlitPass(m_Material); + } - CommandBufferPool.Release(cmd); - } + protected override void Dispose(bool disposing) + { + CoreUtils.Destroy(m_Material); } - ``` +} +``` -3. Create the shader that performs the blit operation. Call the shader file `ColorBlit.shader`. The vertex function outputs the full-screen quad position. The fragment function samples the color buffer and returns the `color * float4(0, _Intensity, 0, 1)` value to the render target. + +## Example shader - **Note:** The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](xref:um-shader-graph) shaders aren't compatible with the `Blitter` API. +The shader performs the GPU side of the rendering. It samples the color texture from the camera, then outputs the color with the green value set to the chosen intensity. - ```c++ - Shader "ColorBlit" +**Note:** The shader you use with the `Blitter` API must be a hand-coded shader. [Shader Graph](xref:um-shader-graph) shaders aren't compatible with the `Blitter` API. + +```c++ +Shader "ColorBlit" +{ + SubShader { - SubShader + Tags { "RenderType"="Opaque" "RenderPipeline" = "UniversalPipeline"} + LOD 100 + ZWrite Off Cull Off + Pass { - Tags { "RenderType"="Opaque" "RenderPipeline" = "UniversalPipeline"} - LOD 100 - ZWrite Off Cull Off - Pass - { - Name "ColorBlitPass" + Name "ColorBlitPass" - HLSLPROGRAM - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - // The Blit.hlsl file provides the vertex shader (Vert), - // input structure (Attributes) and output strucutre (Varyings) - #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + HLSLPROGRAM + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + // The Blit.hlsl file provides the vertex shader (Vert), + // the input structure (Attributes) and the output structure (Varyings) + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" - #pragma vertex Vert - #pragma fragment frag + #pragma vertex Vert + #pragma fragment frag - TEXTURE2D_X(_CameraOpaqueTexture); - SAMPLER(sampler_CameraOpaqueTexture); + // Set the color texture from the camera as the input texture + TEXTURE2D_X(_CameraOpaqueTexture); + SAMPLER(sampler_CameraOpaqueTexture); - float _Intensity; + // Set up an intensity parameter + float _Intensity; - half4 frag (Varyings input) : SV_Target - { - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); - float4 color = SAMPLE_TEXTURE2D_X(_CameraOpaqueTexture, sampler_CameraOpaqueTexture, input.texcoord); - return color * float4(0, _Intensity, 0, 1); - } - ENDHLSL + half4 frag (Varyings input) : SV_Target + { + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); + + // Sample the color from the input texture + float4 color = SAMPLE_TEXTURE2D_X(_CameraOpaqueTexture, sampler_CameraOpaqueTexture, input.texcoord); + + // Output the color from the texture, with the green value set to the chosen intensity + return color * float4(0, _Intensity, 0, 1); } + ENDHLSL } } - ``` - -4. Add the `ColorBlitRendererFeature` to the Universal Renderer asset. - - ![Add Renderer Feature](../Images/how-to/blit/add-renderer-feature.png) - - For information on how to add a Renderer Feature, refer to the page [How to add a Renderer Feature to a Renderer](../urp-renderer-feature-how-to-add.md). - - For this example, set the Intensity property to 1.5. - -5. Unity shows the following views: - - ![Final Scene and Game views](../Images/how-to/blit/final-scene-and-game-view.png) - - > **NOTE:** To visualize the example in XR, configure the project to use XR SDK. [Add the MockHMD XR Plugin to the project](https://docs.unity3d.com/Packages/com.unity.xr.mock-hmd@latest/index.html). Set the **Render Mode** property to **Single Pass Instanced**. - -The example is complete. +} +``` ## Additional resources -* [Blit Camera color texture to RTHandle](../customize/blit-to-rthandle.md) - - This page describes how to blit a camera color texture to an output texture, and set the output texture as a global property. - -* [Blit multiple RTHandle textures and draw them on the screen](../customize/blit-multiple-rthandles.md) - - This page describes a more complex blit operation that uses multiple textures defined as `RTHandle`. \ No newline at end of file +- [Custom render pass workflow](../renderer-features/custom-rendering-pass-workflow-in-urp.md) +- [Injecting a render pass via a Scriptable Renderer Feature](../renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md) +- [Writing custom shaders in URP](../writing-custom-shaders-urp.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/intro-to-scriptable-render-passes.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/intro-to-scriptable-render-passes.md index 59cc3fbdd66..387630c1245 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/intro-to-scriptable-render-passes.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/intro-to-scriptable-render-passes.md @@ -33,6 +33,6 @@ For example, if you have two Cameras and you add the Scriptable Render Pass in t ## Additional resources -* [How to create a Custom Renderer Feature](create-custom-renderer-feature.md) +* [Example of a complete Scriptable Renderer Feature](how-to-fullscreen-blit.md) * [Scriptable Renderer Feature Reference](scriptable-renderer-features/scriptable-renderer-feature-reference.md) * [How to inject a Custom Render Pass via scripting](../customize/custom-pass-injection-points.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/apply-scriptable-feature-to-specific-camera.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/apply-scriptable-feature-to-specific-camera.md index 1bb9064e88e..d909ac2b1ee 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/apply-scriptable-feature-to-specific-camera.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/apply-scriptable-feature-to-specific-camera.md @@ -13,7 +13,7 @@ This guide is split into the following sections: ## Prerequisites -This guide assumes that you already have a complete Scriptable Renderer Feature to work with. If you do not, refer to [How to Create a Custom Renderer Feature](../create-custom-renderer-feature.md). +This guide assumes that you already have a complete Scriptable Renderer Feature to work with. If you do not, refer to [Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md). ## Apply Scriptable Renderer Feature to Game Cameras @@ -43,4 +43,4 @@ This Scriptable Renderer Feature now only applies to Cameras with the Game camer * [Introduction to Scriptable Renderer Features](./intro-to-scriptable-renderer-features.md) * [Introduction to Scriptable Render Passes](../intro-to-scriptable-render-passes.md) -* [How to create a Custom Renderer Feature](../create-custom-renderer-feature.md) +* [Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md index 6ec7e259f6f..5c0f475f052 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md @@ -115,49 +115,6 @@ This section uses the example `RedTintRenderPass` Scriptable Render Pass from th } ``` -## Custom Renderer Feature code +You can now add the Scriptable Renderer Feature to the active URP asset. -Below is the complete code for the custom Renderer Feature script. - -```C# -using System; -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class MyRendererFeature : ScriptableRendererFeature -{ - [SerializeField] private Shader shader; - private Material material; - private RedTintRenderPass redTintRenderPass; - - public override void Create() - { - if (shader == null) - { - Debug.LogError("Ensure that you've set a shader in the Scriptable Renderer Feature."); - return; - } - material = CoreUtils.CreateEngineMaterial(shader); - redTintRenderPass = new RedTintRenderPass(material); - - redTintRenderPass.renderPassEvent = RenderPassEvent.AfterRenderingSkybox; - } - - public override void AddRenderPasses(ScriptableRenderer renderer, - ref RenderingData renderingData) - { - if (redTintRenderPass != null && - renderingData.cameraData.cameraType == CameraType.Game) - { - renderer.EnqueuePass(redTintRenderPass); - } - } - protected override void Dispose(bool disposing) - { - CoreUtils.Destroy(material); - } -} - -``` +For a full example, refer to [Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md). diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/intro-to-scriptable-renderer-features.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/intro-to-scriptable-renderer-features.md index 0e29e2063c3..13b3b31020f 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/intro-to-scriptable-renderer-features.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/intro-to-scriptable-renderer-features.md @@ -26,4 +26,4 @@ Alternately, the injection of individual Scriptable Render Passes offers the abi ## Additional resources * [Introduction to Scriptable Render Passes](../intro-to-scriptable-render-passes.md) -* [How to create a Custom Renderer Feature](../create-custom-renderer-feature.md) +* [Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-feature-reference.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-feature-reference.md index ecccb76e058..55a9ab97996 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-feature-reference.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-feature-reference.md @@ -32,4 +32,4 @@ You can use the following methods within a Scriptable Renderer Pass to handle it * [Introduction to Scriptable Renderer Features](./intro-to-scriptable-renderer-features.md) * [Introduction to Scriptable Render Passes](intro-to-scriptable-renderer-features.md) -* [How to create a Custom Renderer Feature](../create-custom-renderer-feature.md) +* [Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md index d4dfc6ac915..c12bc7b9608 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md @@ -7,4 +7,4 @@ Scriptable Renderer Features are components you can add to a renderer to alter h |[Introduction to Scriptable Renderer Features](intro-to-scriptable-renderer-features.md)|What a Scriptable Renderer Feature is, and how a Scriptable Renderer Feature relates to a Scriptable Render Pass.| |[Inject a custom pass using a Scriptable Renderer Feature](inject-a-pass-using-a-scriptable-renderer-feature.md)|Create a Scriptable Renderer Feature, add it to the Universal Renderer, and enqueue a render pass.| |[Apply a Scriptable Renderer Feature to a specific camera type](apply-scriptable-feature-to-specific-camera.md)|Control which cameras the effect of a Scriptable Renderer Feature applies to.| -|[Example of a complete Scriptable Renderer Feature](../create-custom-renderer-feature.md)|An example of a complete Scriptable Renderer Feature with a Scriptable Render Pass that creates a blur effect.| +|[Example of a complete Scriptable Renderer Feature](../how-to-fullscreen-blit.md)|An example of a complete Scriptable Renderer Feature with a Scriptable Render Pass that creates a blur effect.| diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/write-a-scriptable-render-pass.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/write-a-scriptable-render-pass.md index a4c96defdbf..16c32334725 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/write-a-scriptable-render-pass.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/write-a-scriptable-render-pass.md @@ -1,288 +1,72 @@ -# Write a Scriptable Render Pass +# Write a Scriptable Render Pass in URP -The following example is a `ScriptableRenderPass` instance that performs the following steps: +To create a Scriptable Render Pass in the Universal Render Pipeline (URP), follow these steps: -1. Creates a temporary render texture using the `RenderTextureDescriptor` API. -2. Applies two passes of the [custom shader](#example-shader) to the camera output using the `RTHandle` and the `Blit` API. - -After you write a Scriptable Render Pass, you can inject the pass using one of the following methods: - -- [Use the `RenderPipelineManager` API](../customize/inject-render-pass-via-script.md) -- [Use a Scriptable Renderer Feature](scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md) - -## Create the scriptable Render Pass - -This section demonstrates how to create a scriptable Render Pass. - -1. Create a new C# script and name it `RedTintRenderPass.cs`. - -2. In the script, remove the code that Unity inserted in the `RedTintRenderPass` class. Add the following `using` directive: +1. Create a C# script that inherits the `ScriptableRenderPass` class. For example: ```C# using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; - ``` - -3. Create the `RedTintRenderPass` class that inherits from the **ScriptableRenderPass** class. - - ```C# - public class RedTintRenderPass : ScriptableRenderPass - ``` - -4. Add the `Execute` method to the class. Unity calls this method every frame, once for each camera. This method lets you implement the rendering logic of the scriptable Render Pass. - - ```C# - public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) - { } - ``` - -Below is the complete code for the RedTintRenderPass.cs file from this section. - -```C# -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class RedTintRenderPass : ScriptableRenderPass -{ - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) - { - - } -} -``` - -## Implement the settings for the custom render pass - -1. Add a field for the Material, and the constructor that uses the field. - - ```C# - private Material material; - public RedTintRenderPass(Material material) + public class ExampleRenderPass : ScriptableRenderPass { - this.material = material; } ``` -2. Add the `RenderTextureDescriptor` field and initialize it in the constructor: +2. In the class, add variables for the materials and textures you use in the render pass. - ```C# - using UnityEngine; + For example, the following code sets up a handle to a texture, and a descriptor to configure the texture. + ```c# + private RTHandle textureHandle; private RenderTextureDescriptor textureDescriptor; - - public RedTintRenderPass(Material material) - { - this.material = material; - - textureDescriptor = new RenderTextureDescriptor(Screen.width, - Screen.height, RenderTextureFormat.Default, 0); - } ``` -3. Declare the `RTHandle` field to store the reference to the temporary red tint texture. - - ```C# - private RTHandle textureHandle; - ``` +4. Override the `Configure` method to set up the render pass. Unity calls this method before executing the render pass. -4. Implement the `Configure` method. Unity calls this method before executing the render pass. + For example: - ```C# - public override void Configure(CommandBuffer cmd, - RenderTextureDescriptor cameraTextureDescriptor) + ```c# + public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor) { - //Set the red tint texture size to be the same as the camera target size. + //Set the texture size to be the same as the camera target size. textureDescriptor.width = cameraTextureDescriptor.width; textureDescriptor.height = cameraTextureDescriptor.height; - //Check if the descriptor has changed, and reallocate the RTHandle if necessary. + //Check if the descriptor has changed, and reallocate the texture handle if necessary. RenderingUtils.ReAllocateIfNeeded(ref textureHandle, textureDescriptor); } ``` -5. Use the Blit method to apply the two passes from the custom shader to the camera output. - - ```C# - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) - { - //Get a CommandBuffer from pool. - CommandBuffer cmd = CommandBufferPool.Get(); - - RTHandle cameraTargetHandle = - renderingData.cameraData.renderer.cameraColorTargetHandle; - - // Blit from the camera target to the temporary render texture, - // using the first shader pass. - Blit(cmd, cameraTargetHandle, textureHandle, material, 0); - // Blit from the temporary render texture to the camera target, - // using the second shader pass. - Blit(cmd, textureHandle, cameraTargetHandle, material, 1); - - //Execute the command buffer and release it back to the pool. - context.ExecuteCommandBuffer(cmd); - CommandBufferPool.Release(cmd); - } - ``` - -6. Implement the `Dispose` method that destroys the Material and the temporary render texture after the render pass execution. - - ```C# - public void Dispose() - { - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Object.Destroy(material); - } - else - { - Object.DestroyImmediate(material); - } - #else - Object.Destroy(material); - #endif - - if (textureHandle != null) textureHandle.Release(); - } - ``` - -### Custom render pass code - -Below is the complete code for the custom Render Pass script. - -```C# -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class RedTintRenderPass : ScriptableRenderPass -{ - private Material material; - - private RenderTextureDescriptor textureDescriptor; - private RTHandle textureHandle; - - public RedTintRenderPass(Material material) - { - this.material = material; - - textureDescriptor = new RenderTextureDescriptor(Screen.width, - Screen.height, RenderTextureFormat.Default, 0); - } +5. Override the `Execute` method with your rendering commands. Unity calls this method every frame, once for each camera. - public override void Configure(CommandBuffer cmd, - RenderTextureDescriptor cameraTextureDescriptor) - { - // Set the texture size to be the same as the camera target size. - textureDescriptor.width = cameraTextureDescriptor.width; - textureDescriptor.height = cameraTextureDescriptor.height; + For example: - // Check if the descriptor has changed, and reallocate the RTHandle if necessary - RenderingUtils.ReAllocateIfNeeded(ref textureHandle, textureDescriptor); - } - - public override void Execute(ScriptableRenderContext context, - ref RenderingData renderingData) + ```c# + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { - //Get a CommandBuffer from pool. + // Get a CommandBuffer from pool CommandBuffer cmd = CommandBufferPool.Get(); - RTHandle cameraTargetHandle = - renderingData.cameraData.renderer.cameraColorTargetHandle; - - // Blit from the camera target to the temporary render texture, - // using the first shader pass. - Blit(cmd, cameraTargetHandle, textureHandle, material, 0); - // Blit from the temporary render texture to the camera target, - // using the second shader pass. - Blit(cmd, textureHandle, cameraTargetHandle, material, 1); + // Add rendering commands to the CommandBuffer + ... - //Execute the command buffer and release it back to the pool. + // Execute the command buffer and release it back to the pool context.ExecuteCommandBuffer(cmd); CommandBufferPool.Release(cmd); } + ``` - public void Dispose() - { - #if UNITY_EDITOR - if (EditorApplication.isPlaying) - { - Object.Destroy(material); - } - else - { - Object.DestroyImmediate(material); - } - #else - Object.Destroy(material); - #endif - - if (textureHandle != null) textureHandle.Release(); - } -} -``` - -## The custom shader for the red tint effect - -This section contains the code for the custom shader that implements the red tint effect. +## Inject a render pass into the render loop -```c++ -Shader "CustomEffects/RedTint" -{ - HLSLINCLUDE - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - // The Blit.hlsl file provides the vertex shader (Vert), - // the input structure (Attributes), and the output structure (Varyings) - #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" +To inject a render pass into the render loop, refer to the following: - - float4 RedTint (Varyings input) : SV_Target - { - float3 color = SAMPLE_TEXTURE2D(_BlitTexture, sampler_LinearClamp, input.texcoord).rgb; - return float4(1, color.gb, 1); - } +- [Use the `RenderPipelineManager` API](../customize/inject-render-pass-via-script.md) +- [Use a Scriptable Renderer Feature](scriptable-renderer-features/inject-a-pass-using-a-scriptable-renderer-feature.md) - float4 SimpleBlit (Varyings input) : SV_Target - { - float3 color = SAMPLE_TEXTURE2D(_BlitTexture, sampler_LinearClamp, input.texcoord).rgb; - return float4(color.rgb, 1); - } - - ENDHLSL - - SubShader - { - Tags { "RenderType"="Opaque" "RenderPipeline" = "UniversalPipeline"} - LOD 100 - ZTest Always ZWrite Off Cull Off - Pass - { - Name "RedTint" +For a complete example, refer to [Example of a complete Scriptable Renderer Feature](../renderer-features/how-to-fullscreen-blit.md). - HLSLPROGRAM - - #pragma vertex Vert - #pragma fragment RedTint - - ENDHLSL - } - - Pass - { - Name "SimpleBlit" +## Additional resources - HLSLPROGRAM - - #pragma vertex Vert - #pragma fragment SimpleBlit - - ENDHLSL - } - } -} -``` \ No newline at end of file +- [Custom render pass workflow](../renderer-features/custom-rendering-pass-workflow-in-urp.md) +- [Writing custom shaders in URP](../writing-custom-shaders-urp.md) \ No newline at end of file diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/working-with-textures.md b/Packages/com.unity.render-pipelines.universal/Documentation~/working-with-textures.md index cb505668cd8..9f866a89731 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/working-with-textures.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/working-with-textures.md @@ -4,7 +4,11 @@ How to access and use textures in a custom render pass in the Universal Render P |Page|Description| |-|-| -|[URP blit best practices](customize/blit-overview.md)|Understand the different ways to perform a blit operation in URP and best practices to follow when writing custom render passes.| -|[Perform a full screen blit in URP](renderer-features/how-to-fullscreen-blit.md)|An example of creating a custom render pass and a custom Scriptable Renderer Feature that performs a full screen blit.| +|[Blit](customize/blit-overview.md)|Understand the different ways to perform a blit operation in URP and best practices to follow when writing custom render passes.| | [Blit input and output textures](customize/blit-to-rthandle.md) | Blit a camera color texture to an output texture, then set the output texture as a global shader property. | -| [Blit multiple RTHandle textures](customize/blit-multiple-rthandles.md) | An example of a blit operation that involves multiple `RTHandle` textures and a custom shader effect. | \ No newline at end of file +| [Blit multiple RTHandle textures](customize/blit-multiple-rthandles.md) | An example of a blit operation that involves multiple `RTHandle` textures and a custom shader effect. | + +## Additional resources + +- The blit examples in the [URP Package Samples](package-sample-urp-package-samples.md) +- [Example of a complete Scriptable Renderer Feature](renderer-features/how-to-fullscreen-blit.md)