From 3ab1414a19a4da2b93e4b4ad4de0ba33f6836083 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Thu, 11 Jun 2020 14:15:37 -0700 Subject: [PATCH] Better normal map handling for parts with no normals --- .../Plugins/ConformalDecals.dll | Bin 36352 -> 36864 bytes .../MaterialPropertyCollection.cs | 15 ++++++++++---- .../ConformalDecals/ModuleConformalDecal.cs | 6 +++++- Source/ConformalDecals/ProjectionTarget.cs | 19 ++++++++---------- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 0174266830bc7cbff81db1449bf06c65a8675c9d..a9601b2b904886fd68ecb4f4fe1021adc404600c 100644 GIT binary patch delta 8833 zcmb_id3;nwwmwz2`}W@HHQfOc2qC1ilCUNN2!XIf!V+XLfFlS95u~9BU7|Svrd4y<;md^9E zDwbvM-UN>h_+6>3X1Q#&_AJX{YqgJ9$CRWkdgGyZa57VPB++YQiJ0bH)2n$D-^$qx z?YwCLo7Ozn+*Yx~(47*EYj<0pWrbR~Z5z+4(azawl6jq<$h6c1h$wK1-b7^2(eAPz za=s02A@cIr39jAZ$hSBYn#=2gS_fxPYjFf!Rp1c}M&+@O6zvm7Pu5Xu35g2%<_WdVaZQB9n7a)aJF|YGz+g}bR65IWx2XusVLBF!x4v|?pgGw;h4o*2MVLGh=HKHA551@8RLJ$cMW2RZ+UDm1th?Dt zbEBJ)uboF8#v|svq;MFD)JqDdp~!FkDtISny_@U8HH>m~{*e_2sftfw4+E68=iI5_~B(ktrNKuJ!HQHvUhj z^V`O5hKmvngTxXLBbW*M{1X5SxV{YjIgLCr9i0Wl8nNf2ih@P4+ti$nM9cc+5cvx^ zO_1pm#XdtA9ytl;HFL1XBBvll(gD0~2;${CV!a(SH*@}Js1{>@LK*#9IQfWj>j!~e z(w@;SbWWYI2k!qNpm0V&zZ0{h$EzExt9txOwYHkq3GcPl1&-L%D~x(heEzrEvaB5M zcgVxCz=L^kTJw^ubrsqlveG*J3I6{fgP)uKlr^gT_h@d<4frVX10;u!Mb3(Wtp-4M zPMaOMD%lTCtnJ92nsRwD+to-vy_5NRC%HKhR-ui_>6UvB6msff zy|MH?I979%$OSmtjpdM+9QzA=6dWv1=X63X+F~W(bfuKbSw;1lWc{ipSJZeorX|l} zRidk~revA2a|eWz+!*ms=xZ^r6YDU#99Da5k#=itW;YSjksCpMMV*~KF6%5~x@>tK zTipl|(`r-HDE6HSzjN9Lxqa9&Eu7akzEG^)wLBuul%+O!D$#clhDWCTQgPYG@@t=; z6*)I@Jx~M(15PU$L&`a#7L}+4-Wgs+-#(bheeUkRoPVQ0!Cw_fiH=7=Q4XY*|FJeN z;@8^dd*fI04&ALp`q>is0!DF;j6#OuiQ1cTZsH2B8wM$|1|jN&4Vzh-y6Udci=y2n zLJXvd*CAOGHn{WN=)=Mz zVm5P(wu}z~iUPGU zG+)E2Ypi+=a#<*HEqv=mK@cG3(&`Js@wQ1KN}X7Hx>-oV+(kEt1*98S*Vm)m1u0jDD$v6MZElYis(z|k%X-ABzTI00$Uq< z+eC|vpDB+NtgV!d#+UbeN=BdQ6x%j6SA^0A#- zL171`Xd??#11^s-HF>JcIETklv}J{z@dkaYFwH4?;t>yeuOF)&DC|$!cx&sZ=BJJBjyLCj0z!4(}k9UbLKat2Ev!uvp?DiR&b8mv~V6Y_&X( zI4dN!h2Boj;9aWHDa%`Sm1bK+FE-m7E|uzoZ;W=i=_k5qR;hrFGdJDgxoEc2G=*p) zJ?SNKQx90}bS>m4HQO-XD=*3MdodTcJWhUe?h-s(ik&jC6B)#FX(>q*5yIIE1 z#O=XNM-V|JzxoEo(u{oEba*xwkM&-GRS2O{u0@QvG+E%Q4&j;ut4gysX6Z#aRJV*N-d!tX%)ijHXr)qjjKxkj z$oLCjb<@>xy9j-qOLRF=E~oyehe`_(NTo?`fvQ1{fc+@9 z)P-#5VX4pOIu-}*AzfcgNedKHKN=y~VafXArPqKkPk^1HQW_&|X-R?&q{))ak)Fc{ z>0wxHF}|N@9IYiUwK`9!URo16qZZM1{xfP%>hCFGKqj!aOW=$QyLf!=6nH!=upwFC zaLAR*?zC4hm7a15oMta)ooRRQyqZpb_FM#B?J(gmoXX2tI(xM^w~AN6Zyyb+4xw zK0DPuzzTnVpx0jp%<{*}@whVFAe$J|8GSTvF{UYUd||Wbz6q6MbWlBocTl?26rvuC z8jw1pqd|dw$fG)lMcowM;}r}0+F!8AlC8JyajsCAc7LzTq~F=AEDBwa`UJhM9q83I z-ZwPWVj>ehK@f)~g&02U4`xUvqnhcEWQp+0-s>%9`tlcSZYSw!z1x+IcK?uUFPZsF zcv7aY?WGB!IVe_*!QKuteBj?LSrf(Fc0pe;=xthUady1k?!ji;*jY4hpceuj>~T|; zVERBE6uQioSR7QQGrB$4WO325i1eh#Jqe44PD|Ec_1l`ve#*=iw!QQYwu_&xHJC`( zPh;|RTUs2o4bUWmitGdQPn|K5eUL^K2-oHGR`LUuAU$QUqhKK#+C{gO@-3DWnr*Ou zB|l|pORrtBIT)qVErq&gv1Eq~*3%Rh#>riE9*d|cAtzE3PUly9*6eaFCh8tf}iI?ttn2K(NVP;#l# zU<(8I%M<<9V2y!<63?UA2A$?k=lN7?u-Wc}l20oP_CzS17tlI`?FuE70(#hBuiDai z7usR4zu6K>7y6^YDp)!%q)#Plu#RI1rI4)R3y_+ulVK~0Q=X&^)|+4~qEUvi2F9*b zW7w9$)|J*9w)8OZZuEd*>lHq2=|;cTZP-OWSh~~iaTOFh>`nh8rk?bz!TJZ7wHH-=scHm+0{v5l0OmcDe0!R`y^v8(7I$@JOoN58+qvmd>2g=c^I z<_gbJI|wgbdM$k^Sp)sfHrYCf9vz6gJ~o#; ze5TO$fqHHov45w~GY0EwGt(4$&tQu^`;;5#h{1+AyRjRnySTw(MrTX5!e9wCX1#&# zG}tC}5m<}CvOLH5RQj}xME{?&Be=g$rHVl!%;)SI$wGq#Yod2?d`zXG1`}t(R61y| zkty}osnlVJ?m05$R_ipHZLsrT(`lE%z5~0F&KhiD%4+Kj3gZrr{+sCbl!UdKI)Mt- z1mjIqX0QiR?zPUQM+~;wL7xUw%kNPRs(DuQTf)^=az@5}(PiS!d!s zuz+qg*dlzYET9K2*&I#gg|y9Jr-Op+HdsvB-j^)iWc^VZFBr!6{7ck@)V4zJ;tR=o z8BEODLK-TWzDE|)nBl^6FNr0)h~Ag1iDscPx6mgB%Ryyo>D$ZfIqPDYgilHwY-v=f zwpf?YIZ5^L;`0eViWt3?*{>VBPpj&e(d)yoxKKXo`Zd0a8#1S14xyh6A5JH6S6678 zQ)qsxHTTQNd{A1wim>YPkdTmTarb7_TNUyU?Z9WVD^g8CMsHS3%F|5$F|Kr#;i(8-G}49+kc8vflfZ8Xmq? z6Wt~={D06-`9B2`!?0OILLx1*k=B*vQ`=|{mA0GM=oU3Nib@OgcrY5N(MP#P>KjeM z+EvOYVQ!Ef?rryV7+kM{DizbDCCf=tHZ$|>uLQgEA%B+ ziV2<^{=&*>L~;_oB5WjXeO{m$UmQYC2imC!=%Escr4q{}R>tL{O5zlW)xaRllX9)Z z24EXnCFKN=(J^30N@qeYk+@0XQHdL*PZ2+fH;EH3w{FxzR{vn&+|Y1nwt2_lGPN^# zI^=jqeiO+3p}ADTkK<-r$_pHgbO0e%&{p7`z`nEr_*a~%P8qtA=P8d*j z;S8XwO$Mvx_a~pFD)s=5wa1+K+#QRzvVKyd`I{))H2MJ`3?xY`en;`7Li4 z@{2qjn49e5)ogY+iy!4ZlDk0O>n-LD>}~B-St$N;a18W&yc7969>ND?HFE@~!Y2@% z3C+#;lB#BlymO#g=3T&#@o|oNp3TIK`)gLBtmk5Qn|LMr)b&Sx4skq`!rG+l<1Mtr z_5o+gZ-Pho2DT-1j3>A=bb|Mh^(#aDd`g0kj`Q|Pg;b4^s!H~F@);^a6@AJWi3wKf zDpOJvQMq*GC0n^t#NP>z1$M?d$dik-l5Iv6tNDW9B*n&d*@Bd={9rCuYFYP`D6qw~ zK$#?~J55%1nyl_BR5ZR?@v_mT1k7SbOrmQ1sjZUT5ZJEFmJMoT0~>oVJQpAS>u@)D zon7zvJN(7+uaSYW*?iw=WeM$eannwA7JINnIhK@x`s@u^p>g`$rcG=TzArbiyCvS4 zoWYihVaHji(wV23N|dE;tErOhXI)KIyga3XZ9sMtQEHJ^DL-y+1U~F-q^-~tn@V|g zQh(DXN>zuz-xM5Sx3a(EuHDMac42Va6DZdP_hge;D>F>BY_q!I|b@=RdP32XXP!Bc4 z<+5s!%WaB6mcN$q|lFe3| zS4qu&IuW?byg{iCZ#3_x8U81MVp8^F1?+>o&HJ(WAXdo_=0h~v=2Q>LHL;)8guB6K zw<}BCsYE>`>K++QBs5!X;f=T=wQ%Qv}?+=hrgG@gfz=NDR+5pB(%&EwjiAGlPcs6iS%Tiv_;#q bVr+AVHM>}|d*ykB7xrxSt~tdLg_i#Y6Ftcg delta 8946 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 YhPrZMhxdk43jeTwhyUhdELEic3tXVdk^lez diff --git a/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs b/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs index 827cfc4..c4de994 100644 --- a/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs +++ b/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs @@ -7,15 +7,25 @@ using UnityEngine.Rendering; namespace ConformalDecals.MaterialModifiers { public class MaterialPropertyCollection : ScriptableObject, ISerializationCallbackReceiver { + public int RenderQueue { + get => _renderQueue; + set { + _renderQueue = value; + if (_decalMaterial != null) _decalMaterial.renderQueue = value; + } + } + [SerializeField] private Shader _shader; [SerializeField] private MaterialTextureProperty _mainTexture; [SerializeField] private string[] _serializedNames; [SerializeField] private MaterialProperty[] _serializedProperties; + private Dictionary _materialProperties; private Material _decalMaterial; private Material _previewMaterial; + private int _renderQueue = 2100; public Shader DecalShader => _shader; @@ -25,6 +35,7 @@ namespace ConformalDecals.MaterialModifiers { _decalMaterial = new Material(_shader); _decalMaterial.SetInt(DecalPropertyIDs._Cull, (int) CullMode.Off); + _decalMaterial.renderQueue = RenderQueue; } return _decalMaterial; @@ -185,10 +196,6 @@ namespace ConformalDecals.MaterialModifiers { _previewMaterial = null; } - public void SetRenderQueue(int queue) { - DecalMaterial.renderQueue = queue; - } - public void UpdateScale(Vector2 scale) { foreach (var entry in _materialProperties) { if (entry.Value is MaterialTextureProperty textureProperty && textureProperty.autoScale) { diff --git a/Source/ConformalDecals/ModuleConformalDecal.cs b/Source/ConformalDecals/ModuleConformalDecal.cs index 18af4fd..a213b01 100644 --- a/Source/ConformalDecals/ModuleConformalDecal.cs +++ b/Source/ConformalDecals/ModuleConformalDecal.cs @@ -250,6 +250,10 @@ namespace ConformalDecals { UpdateMaterials(); + if (HighLogic.LoadedSceneIsEditor) { + UpdateTweakables(); + } + if (HighLogic.LoadedSceneIsGame) { UpdateScale(); } @@ -278,7 +282,7 @@ namespace ConformalDecals { UpdateTweakables(); } - materialProperties.SetRenderQueue(DecalQueue); + materialProperties.RenderQueue = DecalQueue; UpdateMaterials(); diff --git a/Source/ConformalDecals/ProjectionTarget.cs b/Source/ConformalDecals/ProjectionTarget.cs index 519aef8..5b8adae 100644 --- a/Source/ConformalDecals/ProjectionTarget.cs +++ b/Source/ConformalDecals/ProjectionTarget.cs @@ -34,19 +34,16 @@ namespace ConformalDecals { _decalMPB.SetVector(DecalPropertyIDs._DecalNormal, decalNormal); _decalMPB.SetVector(DecalPropertyIDs._DecalTangent, decalTangent); - if (useBaseNormal) { - if (targetMaterial.HasProperty(DecalPropertyIDs._BumpMap)) { - _decalMPB.SetTexture(DecalPropertyIDs._BumpMap, targetMaterial.GetTexture(DecalPropertyIDs._BumpMap)); + if (useBaseNormal && targetMaterial.HasProperty(DecalPropertyIDs._BumpMap)) { + _decalMPB.SetTexture(DecalPropertyIDs._BumpMap, targetMaterial.GetTexture(DecalPropertyIDs._BumpMap)); - var normalScale = targetMaterial.GetTextureScale(DecalPropertyIDs._BumpMap); - var normalOffset = targetMaterial.GetTextureOffset(DecalPropertyIDs._BumpMap); + var normalScale = targetMaterial.GetTextureScale(DecalPropertyIDs._BumpMap); + var normalOffset = targetMaterial.GetTextureOffset(DecalPropertyIDs._BumpMap); - _decalMPB.SetVector(DecalPropertyIDs._BumpMap_ST, new Vector4(normalScale.x, normalScale.y, normalOffset.x, normalOffset.y)); - } - else { - Debug.Log("Using blank normal"); - _decalMPB.SetTexture(DecalPropertyIDs._BumpMap, DecalConfig.BlankNormal); - } + _decalMPB.SetVector(DecalPropertyIDs._BumpMap_ST, new Vector4(normalScale.x, normalScale.y, normalOffset.x, normalOffset.y)); + } + else { + _decalMPB.SetTexture(DecalPropertyIDs._BumpMap, DecalConfig.BlankNormal); } }