From e9c8f3dafb7a0e604ac9f12541606dd5308331d2 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Thu, 4 Jun 2020 00:12:09 -0700 Subject: [PATCH] Big refactor to enable preview materials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • add shader variants for decal previewing • start to add code for part icon • refactor material properties to be serializable todo: • fix decal preview scale (need to call UpdateScale on detached state) • fix texture preview in part icon • adjust culling per-object when rendering (turns out cull and ztest values are used by unity at the render time, not by the shader itself, so they can be adjusted in material property blocks!) --- .gitignore | 3 + Assets/Shaders/DecalFeatureBumped.shader | 52 ++--- Assets/Shaders/DecalPaint.shader | 47 ++--- Assets/Shaders/DecalPaintSpecular.shader | 60 +++--- Assets/Shaders/DecalsCommon.cginc | 82 +++++--- .../ConformalDecals/Parts/decal-blank.cfg | 12 +- .../Plugins/ConformalDecals.dll | Bin 30208 -> 31232 bytes .../Resources/conformaldecals.shab | Bin 98967 -> 125863 bytes .../MaterialColorProperty.cs | 14 +- .../MaterialFloatProperty.cs | 14 +- .../MaterialModifiers/MaterialProperty.cs | 34 ++-- .../MaterialPropertyCollection.cs | 60 ++++-- .../MaterialTextureProperty.cs | 108 +++++----- .../ModuleConformalDecalBase.cs | 184 +++++++++++------- .../ModuleConformalDecalFlag.cs | 52 ++--- .../ModuleConformalDecalGeneric.cs | 37 ++-- Source/ConformalDecals/ProjectionTarget.cs | 38 ++-- 17 files changed, 471 insertions(+), 326 deletions(-) diff --git a/.gitignore b/.gitignore index 205a2d3..a8539d2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ Logs/ Packages/ ProjectSettings/ Temp/ +Distribution/GameData/ConformalDecals/Resources/Resources +Distribution/GameData/ConformalDecals/Resources/Resources.manifest +Distribution/GameData/ConformalDecals/Resources/conformaldecals.shab.manifest # Unity Project Files PartTools.cfg diff --git a/Assets/Shaders/DecalFeatureBumped.shader b/Assets/Shaders/DecalFeatureBumped.shader index 8b2a830..bd7dfe7 100644 --- a/Assets/Shaders/DecalFeatureBumped.shader +++ b/Assets/Shaders/DecalFeatureBumped.shader @@ -4,13 +4,17 @@ Shader "ConformalDecals/Feature/Bumped" { [Header(Texture Maps)] _Decal("Decal Texture", 2D) = "gray" {} - _BumpMap("Decal Bump Map", 2D) = "bump" {} + _DecalBumpMap("Decal Bump Map", 2D) = "bump" {} _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _Opacity("_Opacity", Range(0,1) ) = 1 + _DecalOpacity("Opacity", Range(0,1) ) = 1 + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 0 + [Toggle(DECAL_PREVIEW)] _Preview ("Preview", Float) = 0 [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 @@ -18,9 +22,9 @@ Shader "ConformalDecals/Feature/Bumped" SubShader { Tags { "Queue" = "Geometry+100" } - Cull Off - Zwrite Off - Ztest LEqual + Cull [_Cull] + Ztest LEqual + Pass { Name "FORWARD" @@ -32,15 +36,14 @@ Shader "ConformalDecals/Feature/Bumped" #pragma fragment frag_forward #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap + #pragma multi_compile DECAL_PROJECT DECAL_PREVIEW sampler2D _Decal; - sampler2D _BumpMap; + sampler2D _DecalBumpMap; float4 _Decal_ST; - float4 _BumpMap_ST; - - float _Cutoff; - float _Opacity; + float4 _DecalBumpMap_ST; + float _RimFalloff; float4 _RimColor; @@ -55,16 +58,18 @@ Shader "ConformalDecals/Feature/Bumped" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_bump)); + float3 normal = UnpackNormal(tex2D(_DecalBumpMap, IN.uv_bump)); - // clip alpha - clip(color.a - saturate(_Cutoff + 0.01)); + #ifdef DECAL_PROJECT + // clip alpha + clip(color.a - _Cutoff + 0.01); + #endif //DECAL_PROJECT half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _Opacity; + o.Alpha = color.a * _DecalOpacity; o.Emission = emission; o.Normal = normal; } @@ -83,15 +88,14 @@ Shader "ConformalDecals/Feature/Bumped" #pragma fragment frag_forward #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap + #pragma multi_compile DECAL_PROJECT DECAL_PREVIEW sampler2D _Decal; - sampler2D _BumpMap; + sampler2D _DecalBumpMap; float4 _Decal_ST; - float4 _BumpMap_ST; + float4 _DecalBumpMap_ST; - float _Cutoff; - float _Opacity; float _RimFalloff; float4 _RimColor; @@ -106,16 +110,18 @@ Shader "ConformalDecals/Feature/Bumped" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_bump)); + float3 normal = UnpackNormal(tex2D(_DecalBumpMap, IN.uv_bump)); - // clip alpha - clip(color.a - saturate(_Cutoff + 0.01)); + #ifdef DECAL_PROJECT + // clip alpha + clip(color.a - _Cutoff + 0.01); + #endif //DECAL_PROJECT half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _Opacity; + o.Alpha = color.a * _DecalOpacity; o.Emission = emission; o.Normal = normal; } diff --git a/Assets/Shaders/DecalPaint.shader b/Assets/Shaders/DecalPaint.shader index 09189b9..868e009 100644 --- a/Assets/Shaders/DecalPaint.shader +++ b/Assets/Shaders/DecalPaint.shader @@ -6,24 +6,27 @@ Shader "ConformalDecals/Paint/Diffuse" _Decal("Decal Texture", 2D) = "gray" {} _BumpMap("Bump Map", 2D) = "bump" {} - _EdgeWearStrength("Edge Wear Strength", Range(0,100)) = 0 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0 + _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 + _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _Opacity("_Opacity", Range(0,1) ) = 1 + _DecalOpacity("Opacity", Range(0,1) ) = 1 + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 0 + [Toggle(DECAL_PREVIEW)] _Preview ("Preview", Float) = 0 + [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 } SubShader { - Tags { "Queue" = "Geometry+400" } - ZWrite Off - ZTest LEqual - Offset -1, -1 + Tags { "Queue" = "Geometry+100" } + Cull [_Cull] + Ztest LEqual Pass { @@ -36,18 +39,15 @@ Shader "ConformalDecals/Paint/Diffuse" #pragma fragment frag_forward #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap + #pragma multi_compile __ DECAL_PREVIEW sampler2D _Decal; - sampler2D _BumpMap; float4 _Decal_ST; - float4 _BumpMap_ST; float _EdgeWearStrength; float _EdgeWearOffset; - - float _Cutoff; - float _Opacity; + float _RimFalloff; float4 _RimColor; @@ -62,11 +62,10 @@ Shader "ConformalDecals/Paint/Diffuse" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_base)); - // clip alpha - clip(color.a - _Cutoff); + decalClipAlpha(color.a); + float3 normal = IN.normal; half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; @@ -76,9 +75,8 @@ Shader "ConformalDecals/Paint/Diffuse" color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _Opacity; + o.Alpha = color.a * _DecalOpacity; o.Emission = emission; - o.Normal = normal; } ENDCG @@ -95,18 +93,15 @@ Shader "ConformalDecals/Paint/Diffuse" #pragma fragment frag_forward #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap + #pragma multi_compile __ DECAL_PREVIEW sampler2D _Decal; - sampler2D _BumpMap; float4 _Decal_ST; - float4 _BumpMap_ST; float _EdgeWearStrength; float _EdgeWearOffset; - float _Cutoff; - float _Opacity; float _RimFalloff; float4 _RimColor; @@ -121,11 +116,10 @@ Shader "ConformalDecals/Paint/Diffuse" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_base)); - // clip alpha - clip(color.a - _Cutoff); + decalClipAlpha(color.a); + float3 normal = IN.normal; half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; @@ -135,9 +129,8 @@ Shader "ConformalDecals/Paint/Diffuse" color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _Opacity; + o.Alpha = color.a * _DecalOpacity; o.Emission = emission; - o.Normal = normal; } ENDCG diff --git a/Assets/Shaders/DecalPaintSpecular.shader b/Assets/Shaders/DecalPaintSpecular.shader index 0f95716..0e68414 100644 --- a/Assets/Shaders/DecalPaintSpecular.shader +++ b/Assets/Shaders/DecalPaintSpecular.shader @@ -7,16 +7,19 @@ Shader "ConformalDecals/Paint/Specular" _BumpMap("Bump Map", 2D) = "bump" {} _SpecMap("Specular Map", 2D) = "black" {} - _EdgeWearStrength("Edge Wear Strength", Range(0,100)) = 0 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0 + _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 + _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _Opacity("_Opacity", Range(0,1) ) = 1 + _DecalOpacity("Opacity", Range(0,1) ) = 1 + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) [Header(Specularity)] - _SpecColor ("_SpecColor", Color) = (0.5, 0.5, 0.5, 1) - _Shininess ("Shininess", Range (0.03, 10)) = 0.4 + _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) + _Shininess ("Shininess", Range (0.03, 10)) = 0.3 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 0 + [Toggle(DECAL_PREVIEW)] _Preview ("Preview", Float) = 0 [Header(Effects)] [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 @@ -26,10 +29,9 @@ Shader "ConformalDecals/Paint/Specular" } SubShader { - Tags { "Queue" = "Geometry+400" } - ZWrite Off - ZTest LEqual - Offset -1, -1 + Tags { "Queue" = "Geometry+100" } + Cull [_Cull] + Ztest LEqual Pass { @@ -42,22 +44,19 @@ Shader "ConformalDecals/Paint/Specular" #pragma fragment frag_forward #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap + #pragma multi_compile __ DECAL_PREVIEW sampler2D _Decal; - sampler2D _BumpMap; sampler2D _SpecMap; float4 _Decal_ST; - float4 _BumpMap_ST; float4 _SpecMap_ST; float _EdgeWearStrength; float _EdgeWearOffset; half _Shininess; - - float _Cutoff; - float _Opacity; + float _RimFalloff; float4 _RimColor; @@ -73,11 +72,13 @@ Shader "ConformalDecals/Paint/Specular" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_base)); float3 specular = tex2D(_SpecMap, IN.uv_spec); - - // clip alpha - clip(color.a - _Cutoff); + float3 normal = IN.normal; + + #ifdef DECAL_PROJECT + // clip alpha + clip(color.a - _Cutoff + 0.01); + #endif //DECAL_PROJECT half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; @@ -86,12 +87,11 @@ Shader "ConformalDecals/Paint/Specular" float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - color.a *= _Opacity; + color.a *= _DecalOpacity; o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; o.Alpha = color.a; o.Emission = emission; - o.Normal = normal; o.Specular = _Shininess; o.Gloss = specular.r * color.a; } @@ -110,22 +110,19 @@ Shader "ConformalDecals/Paint/Specular" #pragma fragment frag_forward #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - + #pragma multi_compile __ DECAL_PREVIEW + sampler2D _Decal; - sampler2D _BumpMap; sampler2D _SpecMap; float4 _Decal_ST; - float4 _BumpMap_ST; float4 _SpecMap_ST; float _EdgeWearStrength; float _EdgeWearOffset; half _Shininess; - - float _Cutoff; - float _Opacity; + float _RimFalloff; float4 _RimColor; @@ -141,11 +138,13 @@ Shader "ConformalDecals/Paint/Specular" void surf (DecalSurfaceInput IN, inout SurfaceOutput o) { float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_BumpMap, IN.uv_base)); float3 specular = tex2D(_SpecMap, IN.uv_spec); + float3 normal = IN.normal; - // clip alpha - clip(color.a - _Cutoff); + #ifdef DECAL_PROJECT + // clip alpha + clip(color.a - _Cutoff + 0.01); + #endif //DECAL_PROJECT half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; @@ -156,9 +155,8 @@ Shader "ConformalDecals/Paint/Specular" color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _Opacity; + o.Alpha = color.a * _DecalOpacity; o.Emission = emission; - o.Normal = normal; o.Specular = _Shininess; o.Gloss = specular.r; } diff --git a/Assets/Shaders/DecalsCommon.cginc b/Assets/Shaders/DecalsCommon.cginc index 6382817..5008743 100644 --- a/Assets/Shaders/DecalsCommon.cginc +++ b/Assets/Shaders/DecalsCommon.cginc @@ -18,10 +18,9 @@ struct DecalSurfaceInput #endif //DECAL_EMISSIVE #ifdef DECAL_BASE_NORMAL - float2 uv_base; - #endif //DECAL_BASE_NORMAL + float3 normal; + #endif - float3 normal; float3 viewDir; float3 worldPosition; }; @@ -30,10 +29,10 @@ struct appdata_decal { float4 vertex : POSITION; float3 normal : NORMAL; - #ifdef DECAL_BASE_NORMAL + #if defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) float4 texcoord : TEXCOORD0; float4 tangent : TANGENT; - #endif //DECAL_BASE_NORMAL + #endif }; struct v2f @@ -65,6 +64,23 @@ float4x4 _ProjectionMatrix; float3 _DecalNormal; float3 _DecalTangent; +#ifdef DECAL_BASE_NORMAL + sampler2D _BumpMap; + float4 _BumpMap_ST; +#endif //DECAL_BASE_NORMAL + +float _Cutoff; +float _DecalOpacity; + +float _Opacity; +float4 _Background; + +inline void decalClipAlpha(float alpha) { + #ifndef DECAL_PREVIEW + clip(alpha - _Cutoff + 0.01); + #endif +} + // declare surf function, // this must be defined in any shader using this cginc void surf (DecalSurfaceInput IN, inout SurfaceOutput o); @@ -76,7 +92,12 @@ v2f vert_forward(appdata_decal v) o.pos = UnityObjectToClipPos(v.vertex); o.normal = v.normal; - o.uv_decal = mul (_ProjectionMatrix, v.vertex); + + #ifdef DECAL_PREVIEW + o.uv_decal = v.texcoord; + #else + o.uv_decal = mul (_ProjectionMatrix, v.vertex); + #endif //DECAL_PREVIEW #ifdef DECAL_BASE_NORMAL o.uv_base = TRANSFORM_TEX(v.texcoord, _BumpMap); @@ -85,7 +106,7 @@ v2f vert_forward(appdata_decal v) float3 worldPosition = mul(unity_ObjectToWorld, v.vertex).xyz; float3 worldNormal = UnityObjectToWorldNormal(v.normal); - #ifdef DECAL_BASE_NORMAL + #if defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) // use tangent of base geometry fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; @@ -95,7 +116,7 @@ v2f vert_forward(appdata_decal v) fixed3 decalTangent = UnityObjectToWorldDir(_DecalTangent); fixed3 worldBinormal = cross(decalTangent, worldNormal); fixed3 worldTangent = cross(worldNormal, worldBinormal); - #endif //DECAL_BASE_NORMAL + #endif //defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPosition.x); o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPosition.y); @@ -148,22 +169,26 @@ fixed4 frag_forward(v2f IN) : SV_Target float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPosition)); float3 viewDir = _unity_tbn_0 * worldViewDir.x + _unity_tbn_1 * worldViewDir.y + _unity_tbn_2 * worldViewDir.z; - // perform decal projection - fixed4 uv_projected = UNITY_PROJ_COORD(IN.uv_decal); + #ifdef DECAL_PREVIEW + fixed4 uv_projected = IN.uv_decal; + #else + // perform decal projection + fixed4 uv_projected = UNITY_PROJ_COORD(IN.uv_decal); - // clip texture outside of xyz bounds - clip(uv_projected.xyz); - clip(1-uv_projected.xyz); - - // clip backsides - clip(dot(_DecalNormal, IN.normal)); + // clip texture outside of xyz bounds + clip(uv_projected.xyz); + clip(1-uv_projected.xyz); + + // clip backsides + clip(dot(_DecalNormal, IN.normal)); + #endif //DECAL_PREVIEW // initialize surface input UNITY_INITIALIZE_OUTPUT(DecalSurfaceInput, i) i.uv_decal = TRANSFORM_TEX(uv_projected, _Decal); #ifdef DECAL_NORMAL - i.uv_bump = TRANSFORM_TEX(uv_projected, _BumpMap); + i.uv_bump = TRANSFORM_TEX(uv_projected, _DecalBumpMap); #endif //DECAL_NORMAL #ifdef DECAL_SPECULAR @@ -173,12 +198,16 @@ fixed4 frag_forward(v2f IN) : SV_Target #ifdef DECAL_EMISSIVE i.uv_glow = TRANSFORM_TEX(uv_projected, _GlowMap); #endif //DECAL_EMISSIVE - - #ifdef DECAL_BASE_NORMAL - i.uv_base = IN.uv_base; - #endif //DECAL_BASE_NORMAL - i.normal = IN.normal; + #ifdef DECAL_BASE_NORMAL + #ifdef DECAL_PREVIEW + i.normal = fixed3(0,0,1); + #else + i.normal = UnpackNormal(tex2D(_BumpMap, IN.uv_base)); + #endif //DECAL_PREVIEW + #endif //DECAL_BASE_NORMAL + + //i.normal = IN.normal; i.viewDir = viewDir; i.worldPosition = worldPosition; @@ -192,6 +221,14 @@ fixed4 frag_forward(v2f IN) : SV_Target // call surface function surf(i, o); + + #ifdef DECAL_PREVIEW + o.Albedo = lerp(_Background.rgb,o.Albedo, o.Alpha); + o.Normal = lerp(float3(0,0,1), o.Normal, o.Alpha); + o.Gloss = lerp(_Background.a, o.Gloss, o.Alpha); + o.Emission = lerp(0, o.Emission, o.Alpha); + o.Alpha = _Opacity; + #endif //DECAL_PREVIEW // compute lighting & shadowing factor UNITY_LIGHT_ATTENUATION(atten, IN, worldPosition) @@ -203,7 +240,6 @@ fixed4 frag_forward(v2f IN) : SV_Target WorldNormal.z = dot(_unity_tbn_2, o.Normal); WorldNormal = normalize(WorldNormal); o.Normal = WorldNormal; - //KSP lighting function c += LightingBlinnPhongSmooth(o, lightDir, worldViewDir, atten); diff --git a/Distribution/GameData/ConformalDecals/Parts/decal-blank.cfg b/Distribution/GameData/ConformalDecals/Parts/decal-blank.cfg index 4125aa1..eb33229 100644 --- a/Distribution/GameData/ConformalDecals/Parts/decal-blank.cfg +++ b/Distribution/GameData/ConformalDecals/Parts/decal-blank.cfg @@ -64,18 +64,18 @@ PART name = ModuleConformalDecalGeneric } DATA { - decalShader = ConformalDecals/Feature/Bumped + shader = ConformalDecals/Feature/Bumped TEXTURE { name = _Decal - textureURL = ConformalDecals/Assets/Tortilla-diffuse + textureUrl = ConformalDecals/Assets/Tortilla-diffuse isMain = true } TEXTURE { - name = _BumpMap - textureURL = ConformalDecals/Assets/Tortilla-normal + name = _DecalBumpMap + textureUrl = ConformalDecals/Assets/Tortilla-normal isNormalMap = true } } @@ -90,11 +90,11 @@ PART name = ModuleConformalDecalGeneric } DATA { - decalShader = ConformalDecals/Paint/Diffuse + shader = ConformalDecals/Paint/Diffuse useBaseNormal = true TEXTURE { name = _Decal - textureURL = ConformalDecals/Assets/Sign-HighVoltage-2 + textureUrl = ConformalDecals/Assets/Sign-HighVoltage-2 isMain = true } } diff --git a/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 34ff6f89a3b7771b61429cf08b340d45f1ebe5a3..36522d2806af06977b05f9a486263a04637c4e2d 100644 GIT binary patch literal 31232 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 literal 30208 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 Ja+NeJn}9fTT~l;!35h7jTQ)plvy* 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


P_@DIcq){}vp$k&5;Rq;xpB8oHK&zl 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 z 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 _propertyName; + set { + _propertyName = value; + _propertyID = Shader.PropertyToID(_propertyName); + } + } - protected readonly int _propertyID; + [SerializeField] protected int _propertyID; + [SerializeField] protected string _propertyName; + public virtual void ParseNode(ConfigNode node) { + if (node == null) throw new ArgumentNullException("node cannot be null"); - protected MaterialProperty(ConfigNode node) : this(node.GetValue("name")) { } - - protected MaterialProperty(string name) { - if (name == null) - throw new FormatException("name not found, cannot create material modifier"); - - if (name == string.Empty) - throw new FormatException("name is empty, cannot create material modifier"); - - PropertyName = name; - _propertyID = Shader.PropertyToID(PropertyName); + Name = node.GetValue("name"); } public abstract void Modify(Material material); @@ -57,10 +57,10 @@ namespace ConformalDecals.MaterialModifiers { } else { if (valueString == null) - throw new FormatException($"Missing {typeof(T)} value for {valueName} in property '{PropertyName}'"); + throw new FormatException($"Missing {typeof(T)} value for {valueName} in property '{Name}'"); if (valueString == string.Empty) - throw new FormatException($"Empty {typeof(T)} value for {valueName} in property '{PropertyName}'"); + throw new FormatException($"Empty {typeof(T)} value for {valueName} in property '{Name}'"); } if (tryParse(valueString, out var value)) { @@ -72,7 +72,7 @@ namespace ConformalDecals.MaterialModifiers { } else { - throw new FormatException($"Improperly formatted {typeof(T)} value for {valueName} in property '{PropertyName}' : '{valueString}"); + throw new FormatException($"Improperly formatted {typeof(T)} value for {valueName} in property '{Name}' : '{valueString}"); } } } diff --git a/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs b/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs index 8f80426..0e1322a 100644 --- a/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs +++ b/Source/ConformalDecals/MaterialModifiers/MaterialPropertyCollection.cs @@ -4,18 +4,18 @@ using UnityEngine; namespace ConformalDecals.MaterialModifiers { public class MaterialPropertyCollection : ScriptableObject { - private static readonly int OpacityId = Shader.PropertyToID("_Opacity"); + private static readonly int OpacityId = Shader.PropertyToID("_DecalOpacity"); private static readonly int CutoffId = Shader.PropertyToID("_Cutoff"); - public MaterialTextureProperty MainMaterialTextureProperty { get; set; } + public MaterialTextureProperty MainMaterialTextureProperty => _mainTexture; - private List _materialProperties; - private List _textureMaterialProperties; + public Shader DecalShader => _shader; public Material DecalMaterial { get { + Debug.Log($"{_textureMaterialProperties == null}"); if (_decalMaterial == null) { - _decalMaterial = new Material(_decalShader); + _decalMaterial = new Material(_shader); UpdateMaterial(_decalMaterial); } @@ -23,13 +23,32 @@ namespace ConformalDecals.MaterialModifiers { } } - public Shader DecalShader => _decalShader; + public Material PreviewMaterial { + get { + if (_previewMaterial == null) { + _previewMaterial = new Material(_shader); + UpdateMaterial(_previewMaterial); + _previewMaterial.EnableKeyword("DECAL_PREVIEW"); + } - public float AspectRatio => MainMaterialTextureProperty?.AspectRatio ?? 1f; + return _previewMaterial; + } + } - [SerializeField] private Shader _decalShader; + public float AspectRatio { + get { + if (MainMaterialTextureProperty == null) return 1; + return MainMaterialTextureProperty.AspectRatio; + } + } + + [SerializeField] private Shader _shader; + [SerializeField] private List _materialProperties; + [SerializeField] private List _textureMaterialProperties; + [SerializeField] private MaterialTextureProperty _mainTexture; private Material _decalMaterial; + private Material _previewMaterial; public void Initialize() { _materialProperties = new List(); @@ -44,7 +63,7 @@ namespace ConformalDecals.MaterialModifiers { } foreach (var p in _materialProperties) { - if (p.PropertyName == property.PropertyName) { + if (p.Name == property.Name) { _materialProperties.Remove(property); } } @@ -53,20 +72,20 @@ namespace ConformalDecals.MaterialModifiers { if (property is MaterialTextureProperty textureProperty) { foreach (var p in _textureMaterialProperties) { - if (p.PropertyName == textureProperty.PropertyName) { + if (p.Name == textureProperty.Name) { _textureMaterialProperties.Remove(textureProperty); } } _textureMaterialProperties.Add(textureProperty); - if (textureProperty.IsMain) MainMaterialTextureProperty ??= textureProperty; + if (textureProperty.isMain) _mainTexture ??= textureProperty; } } public void SetShader(string shaderName) { if (string.IsNullOrEmpty(shaderName)) { - if (_decalShader == null) { + if (_shader == null) { Debug.Log("Using default decal shader"); shaderName = "ConformalDecals/Paint/Diffuse"; } @@ -79,13 +98,15 @@ namespace ConformalDecals.MaterialModifiers { if (shader == null) throw new FormatException($"Unable to find specified shader '{shaderName}'"); - _decalShader = shader; + _shader = shader; + _decalMaterial = null; + _previewMaterial = null; } public void SetRenderQueue(int queue) { DecalMaterial.renderQueue = queue; } - + public void SetScale(Vector2 scale) { foreach (var textureProperty in _textureMaterialProperties) { textureProperty.UpdateScale(DecalMaterial, scale); @@ -101,10 +122,21 @@ namespace ConformalDecals.MaterialModifiers { } public void UpdateMaterials() { + if (_decalMaterial == null) { + _decalMaterial = DecalMaterial; + } + + if (_previewMaterial == null) { + _previewMaterial = PreviewMaterial; + } + UpdateMaterial(_decalMaterial); + UpdateMaterial(_previewMaterial); } public void UpdateMaterial(Material material) { + if (material == null) throw new ArgumentNullException("material cannot be null"); + foreach (var property in _materialProperties) { property.Modify(material); } diff --git a/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs b/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs index 03dda7d..3008167 100644 --- a/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs +++ b/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs @@ -3,29 +3,54 @@ using UnityEngine; namespace ConformalDecals.MaterialModifiers { public class MaterialTextureProperty : MaterialProperty { - public Texture2D texture; + [SerializeField] public Texture2D texture; - public bool IsNormal { get; } - public bool IsMain { get; } - public bool AutoScale { get; } + [SerializeField] public bool isNormal; + [SerializeField] public bool isMain; + [SerializeField] public bool autoScale; - private readonly Rect _tileRect; + [SerializeField] private bool _hasTile; + [SerializeField] private Rect _tileRect; + [SerializeField] private Vector2 _textureOffset = Vector2.zero; + [SerializeField] private Vector2 _textureScale = Vector2.one; - public float AspectRatio => _tileRect.height / _tileRect.width; + public float AspectRatio { + get { + if (texture == null) return 1; + if (!_hasTile || Mathf.Approximately(0, _tileRect.width)) return ((float) texture.height) / ((float) texture.width); + return _tileRect.height / _tileRect.width; + } + } - private readonly Vector2 _textureOffset; - private readonly Vector2 _textureScale; + public Rect TileRect { + get => _tileRect; + set { + _hasTile = !(Mathf.Abs(value.width) < 0.1) || !(Mathf.Abs(value.height) < 0.1); - public MaterialTextureProperty(ConfigNode node) : base(node) { - IsNormal = ParsePropertyBool(node, "isNormalMap", true, PropertyName == "_BumpMap"); - IsMain = ParsePropertyBool(node, "isMain", true); - AutoScale = ParsePropertyBool(node, "autoScale", true); - var textureUrl = node.GetValue("textureURL"); + _tileRect = value; + UpdateTiling(); + } + } - if ((textureUrl == null && IsNormal) || textureUrl == "Bump") { + public override void ParseNode(ConfigNode node) { + base.ParseNode(node); + + isNormal = ParsePropertyBool(node, "isNormalMap", true, (Name == "_BumpMap") || isNormal); + isMain = ParsePropertyBool(node, "isMain", true, isMain); + autoScale = ParsePropertyBool(node, "autoScale", true, autoScale); + + SetTexture(node.GetValue("textureUrl")); + + if (node.HasValue("tileRect")) { + TileRect = ParsePropertyRect(node, "tileRect", true, _tileRect); + } + } + + public void SetTexture(string textureUrl) { + if ((textureUrl == null && isNormal) || textureUrl == "Bump") { texture = Texture2D.normalTexture; } - else if ((textureUrl == null && !IsNormal) || textureUrl == "White") { + else if ((textureUrl == null && !isNormal) || textureUrl == "White") { texture = Texture2D.whiteTexture; } else if (textureUrl == "Black") { @@ -36,48 +61,43 @@ namespace ConformalDecals.MaterialModifiers { if (textureInfo == null) throw new Exception($"Cannot find texture: '{textureUrl}'"); - texture = IsNormal ? textureInfo.normalMap : textureInfo.texture; + texture = isNormal ? textureInfo.normalMap : textureInfo.texture; } - if (texture == null) throw new Exception($"Cannot get texture from texture info '{textureUrl}' isNormalMap = {IsNormal}"); - - _tileRect = ParsePropertyRect(node, "tileRect", true, new Rect(0, 0, texture.width, texture.height)); - - _textureScale.x = _tileRect.width / texture.width; - _textureScale.y = _tileRect.height / texture.height; - - _textureOffset.x = _tileRect.x / texture.width; - _textureOffset.y = _tileRect.y / texture.height; + if (texture == null) throw new Exception($"Cannot get texture from texture info '{textureUrl}', isNormalMap = {isNormal}"); + UpdateTiling(); } - public MaterialTextureProperty(string name, Texture2D texture, Rect tileRect = default, - bool isNormal = false, bool isMain = false, bool autoScale = false) : base(name) { - - this.texture = texture; - - _tileRect = tileRect == default ? new Rect(0, 0, this.texture.width, this.texture.height) : tileRect; - - IsNormal = isNormal; - IsMain = isMain; - AutoScale = autoScale; - - _textureScale.x = _tileRect.width / this.texture.width; - _textureScale.y = _tileRect.height / this.texture.height; - - _textureOffset.x = _tileRect.x / this.texture.width; - _textureOffset.y = _tileRect.y / this.texture.height; - } - public override void Modify(Material material) { + if (material == null) throw new ArgumentNullException(nameof(material)); + if (texture == null) { + texture = Texture2D.whiteTexture; + throw new NullReferenceException("texture is null, but should not be"); + } + material.SetTexture(_propertyID, texture); material.SetTextureOffset(_propertyID, _textureOffset); material.SetTextureScale(_propertyID, _textureScale); } public void UpdateScale(Material material, Vector2 scale) { - if (AutoScale) { + if (autoScale) { material.SetTextureScale(_propertyID, new Vector2(_textureScale.x * scale.x, _textureScale.y * scale.y)); } } + + private void UpdateTiling() { + if (_hasTile) { + _textureScale.x = Mathf.Approximately(0, _tileRect.width) ? 1 : _tileRect.width / texture.width; + _textureScale.y = Mathf.Approximately(0, _tileRect.height) ? 1 : _tileRect.height / texture.height; + + _textureOffset.x = _tileRect.x / texture.width; + _textureOffset.y = _tileRect.y / texture.height; + } + else { + _textureScale = Vector2.one; + _textureOffset = Vector2.zero; + } + } } } \ No newline at end of file diff --git a/Source/ConformalDecals/ModuleConformalDecalBase.cs b/Source/ConformalDecals/ModuleConformalDecalBase.cs index e3715ad..73bb99a 100644 --- a/Source/ConformalDecals/ModuleConformalDecalBase.cs +++ b/Source/ConformalDecals/ModuleConformalDecalBase.cs @@ -7,26 +7,27 @@ using UnityEngine; namespace ConformalDecals { public abstract class ModuleConformalDecalBase : PartModule { [KSPField(guiName = "#LOC_ConformalDecals_gui-scale", guiActive = false, guiActiveEditor = true, isPersistant = true, guiFormat = "F2", guiUnits = "m"), - UI_FloatRange(minValue = 0.05f, maxValue = 4f, stepIncrement = 0.05f)] + UI_FloatRange(stepIncrement = 0.05f)] public float scale = 1.0f; [KSPField(guiName = "#LOC_ConformalDecals_gui-depth", guiActive = false, guiActiveEditor = true, isPersistant = true, guiFormat = "F2", guiUnits = "m"), - UI_FloatRange(minValue = 0.05f, maxValue = 4f, stepIncrement = 0.05f)] - public float depth = 1.0f; + UI_FloatRange(stepIncrement = 0.02f)] + public float depth = 0.2f; [KSPField(guiName = "#LOC_ConformalDecals_gui-opacity", guiActive = false, guiActiveEditor = true, isPersistant = true, guiFormat = "P0"), - UI_FloatRange(minValue = 0.0f, maxValue = 1f, stepIncrement = 0.05f)] + UI_FloatRange(stepIncrement = 0.05f)] public float opacity = 1.0f; [KSPField(guiName = "#LOC_ConformalDecals_gui-cutoff", guiActive = false, guiActiveEditor = true, isPersistant = true, guiFormat = "P0"), - UI_FloatRange(minValue = 0.0f, maxValue = 1f, stepIncrement = 0.05f)] + UI_FloatRange(stepIncrement = 0.05f)] public float cutoff = 0.5f; + [KSPField] public string shader = "ConformalDecals/Paint/Diffuse"; + [KSPField] public string decalFront = string.Empty; [KSPField] public string decalBack = string.Empty; [KSPField] public string decalModel = string.Empty; [KSPField] public string decalProjector = string.Empty; - [KSPField] public string decalShader = "ConformalDecals/Paint/Diffuse"; [KSPField] public Transform decalFrontTransform; [KSPField] public Transform decalBackTransform; @@ -38,11 +39,10 @@ namespace ConformalDecals { [KSPField] public bool opacityAdjustable = true; [KSPField] public bool cutoffAdjustable = true; - [KSPField] public Vector2 scaleRange = new Vector2(0, 4); - [KSPField] public Vector2 depthRange = new Vector2(0, 4); - [KSPField] public Vector2 opacityRange = new Vector2(0, 1); - [KSPField] public Vector2 cutoffRange = new Vector2(0, 1); - [KSPField] public Vector2 decalQueueRange = new Vector2(2100, 2400); + [KSPField] public Vector2 scaleRange = new Vector2(0, 4); + [KSPField] public Vector2 depthRange = new Vector2(0, 2); + [KSPField] public Vector2 opacityRange = new Vector2(0, 1); + [KSPField] public Vector2 cutoffRange = new Vector2(0, 1); [KSPField] public bool updateBackScale = true; [KSPField] public bool useBaseNormal = true; @@ -50,7 +50,10 @@ namespace ConformalDecals { [KSPField] public MaterialPropertyCollection materialProperties; [KSPField] public Material backMaterial; + [KSPField] public Vector2 backTextureBaseScale; + private const int DecalQueueMin = 2100; + private const int DecalQueueMax = 2400; private static int _decalQueueCounter = -1; private List _targets; @@ -58,13 +61,16 @@ namespace ConformalDecals { private bool _isAttached; private Matrix4x4 _orthoMatrix; private Bounds _decalBounds; - private Vector2 _backTextureBaseScale; + + private Material _decalMaterial; + private Material _previewMaterial; + private int DecalQueue { get { _decalQueueCounter++; - if (_decalQueueCounter > decalQueueRange.y || _decalQueueCounter < decalQueueRange.x) { - _decalQueueCounter = (int) decalQueueRange.x; + if (_decalQueueCounter > DecalQueueMax || _decalQueueCounter < DecalQueueMin) { + _decalQueueCounter = DecalQueueMin; } return _decalQueueCounter; @@ -74,10 +80,6 @@ namespace ConformalDecals { public override void OnLoad(ConfigNode node) { this.Log("Loading module"); try { - if (HighLogic.LoadedSceneIsEditor) { - UpdateTweakables(); - } - // find front transform decalFrontTransform = part.FindModelTransform(decalFront); if (decalFrontTransform == null) throw new FormatException($"Could not find decalFront transform: '{decalFront}'."); @@ -112,32 +114,25 @@ namespace ConformalDecals { decalProjectorTransform = part.FindModelTransform(decalProjector); if (decalProjectorTransform == null) throw new FormatException($"Could not find decalProjector transform: '{decalProjector}'."); } - - // get back material if necessary - if (updateBackScale) { - this.Log("Getting material and base scale for back material"); - var backRenderer = decalBackTransform.GetComponent(); - if (backRenderer == null) { - this.LogError($"Specified decalBack transform {decalBack} has no renderer attached! Setting updateBackScale to false."); - updateBackScale = false; - } - else { - backMaterial = backRenderer.material; - if (backMaterial == null) { - this.LogError($"Specified decalBack transform {decalBack} has a renderer but no material! Setting updateBackScale to false."); - updateBackScale = false; - } - else { - _backTextureBaseScale = backMaterial.GetTextureScale(PropertyIDs._MainTex); - } - } + + + if (HighLogic.LoadedSceneIsEditor) { + UpdateTweakables(); } - // update EVERYTHING if currently attached - if (_isAttached) { - UpdateScale(); - UpdateTargets(); + // setup material properties + if (HighLogic.LoadedSceneIsGame) { + // additional load, in flight or in the editor + materialProperties = ScriptableObject.Instantiate(materialProperties); } + else { + // first load, so get everything set up + materialProperties = ScriptableObject.CreateInstance(); + materialProperties.Initialize(); + } + + // set shader + materialProperties.SetShader(shader); } catch (Exception e) { this.LogException("Exception parsing partmodule", e); @@ -147,6 +142,7 @@ namespace ConformalDecals { public override void OnStart(StartState state) { this.Log("Starting module"); + // handle tweakables if (HighLogic.LoadedSceneIsEditor) { GameEvents.onEditorPartEvent.Add(OnEditorEvent); GameEvents.onVariantApplied.Add(OnVariantApplied); @@ -154,21 +150,22 @@ namespace ConformalDecals { UpdateTweakables(); } - // generate orthogonal projection matrix and offset it by 0.5 on x and y axes - _orthoMatrix = Matrix4x4.identity; - _orthoMatrix[0, 3] = 0.5f; - _orthoMatrix[1, 3] = 0.5f; + // clone materialProperties and setup queue + if (HighLogic.LoadedSceneIsGame) { + materialProperties = ScriptableObject.Instantiate(materialProperties); + materialProperties.SetRenderQueue(DecalQueue); - // instantiate decal material and set uniqueish queue - materialProperties.SetRenderQueue(DecalQueue); + // set initial attachment state + if (part.parent == null) { + _isAttached = false; + } + else { + OnAttach(); + } + } - // set initial attachment state - if (part.parent == null) { - OnDetach(); - } - else { - OnAttach(); - } + UpdateMaterials(); + UpdateScale(); } public void OnDestroy() { @@ -179,25 +176,25 @@ namespace ConformalDecals { Camera.onPreCull -= Render; } - private void OnSizeTweakEvent(BaseField field, object obj) { + protected void OnSizeTweakEvent(BaseField field, object obj) { // scale or depth values have been changed, so update scale // and update projection matrices if attached UpdateScale(); if (_isAttached) UpdateProjection(); } - private void OnMaterialTweakEvent(BaseField field, object obj) { + protected void OnMaterialTweakEvent(BaseField field, object obj) { materialProperties.SetOpacity(opacity); materialProperties.SetCutoff(cutoff); } - private void OnVariantApplied(Part eventPart, PartVariant variant) { + protected void OnVariantApplied(Part eventPart, PartVariant variant) { if (_isAttached && eventPart == part.parent) { UpdateTargets(); } } - private void OnEditorEvent(ConstructionEventType eventType, Part eventPart) { + protected void OnEditorEvent(ConstructionEventType eventType, Part eventPart) { if (eventPart != this.part) return; switch (eventType) { case ConstructionEventType.PartAttached: @@ -213,7 +210,7 @@ namespace ConformalDecals { } } - private void OnAttach() { + protected void OnAttach() { if (part.parent == null) { this.LogError("Attach function called but part has no parent!"); _isAttached = false; @@ -224,7 +221,6 @@ namespace ConformalDecals { this.Log($"Decal attached to {part.parent.partName}"); - UpdateTargets(); // hide preview model decalFrontTransform.gameObject.SetActive(false); @@ -233,11 +229,12 @@ namespace ConformalDecals { // add to preCull delegate Camera.onPreCull += Render; - UpdateScale(); + //UpdateScale(); + UpdateTargets(); UpdateProjection(); } - private void OnDetach() { + protected void OnDetach() { _isAttached = false; // unhide preview model @@ -247,13 +244,19 @@ namespace ConformalDecals { // remove from preCull delegate Camera.onPreCull -= Render; - UpdateScale(); + //UpdateScale(); } - private void UpdateScale() { + protected void UpdateScale() { + var aspectRatio = materialProperties.AspectRatio; + this.Log($"Aspect ratio is {aspectRatio}"); var size = new Vector2(scale, scale * materialProperties.AspectRatio); // update orthogonal matrix scale + _orthoMatrix = Matrix4x4.identity; + _orthoMatrix[0, 3] = 0.5f; + _orthoMatrix[1, 3] = 0.5f; + _orthoMatrix[0, 0] = 1 / size.x; _orthoMatrix[1, 1] = 1 / size.y; _orthoMatrix[2, 2] = 1 / depth; @@ -262,28 +265,67 @@ namespace ConformalDecals { _decalBounds.center = Vector3.forward * (depth / 2); _decalBounds.extents = new Vector3(size.x / 2, size.y / 2, depth / 2); + if (decalModelTransform == null) { + this.LogError("decalModelTransform is null!"); + } + // rescale preview model decalModelTransform.localScale = new Vector3(size.x, size.y, (size.x + size.y) / 2); // update back material scale if (updateBackScale) { - backMaterial.SetTextureScale(PropertyIDs._MainTex, new Vector2(size.x * _backTextureBaseScale.x, size.y * _backTextureBaseScale.y)); + backMaterial.SetTextureScale(PropertyIDs._MainTex, new Vector2(size.x * backTextureBaseScale.x, size.y * backTextureBaseScale.y)); } // update material scale materialProperties.SetScale(size); } - private void UpdateProjection() { + protected void UpdateMaterials() { + materialProperties.UpdateMaterials(); + _decalMaterial = materialProperties.DecalMaterial; + _previewMaterial = materialProperties.PreviewMaterial; + + // get back material if necessary + if (updateBackScale) { + this.Log("Getting material and base scale for back material"); + var backRenderer = decalBackTransform.GetComponent(); + if (backRenderer == null) { + this.LogError($"Specified decalBack transform {decalBack} has no renderer attached! Setting updateBackScale to false."); + updateBackScale = false; + } + else { + backMaterial = backRenderer.material; + if (backMaterial == null) { + this.LogError($"Specified decalBack transform {decalBack} has a renderer but no material! Setting updateBackScale to false."); + updateBackScale = false; + } + else { + if (backTextureBaseScale == default) backTextureBaseScale = backMaterial.GetTextureScale(PropertyIDs._MainTex); + } + } + } + + if (decalFrontTransform == null) { + this.LogError("No reference to decal front transform"); + return; + } + + decalFrontTransform.GetComponent().material = _previewMaterial; + } + + protected void UpdateProjection() { if (!_isAttached) return; + var bounds = new OrientedBounds(decalProjectorTransform.localToWorldMatrix, _decalBounds); + // project to each target object foreach (var target in _targets) { - target.Project(_orthoMatrix, new OrientedBounds(decalProjectorTransform.localToWorldMatrix, _decalBounds), decalProjectorTransform); + target.Project(_orthoMatrix, bounds, decalProjectorTransform, useBaseNormal); } } - private void UpdateTargets() { + protected void UpdateTargets() { if (_targets == null) { _targets = new List(); } @@ -319,7 +361,7 @@ namespace ConformalDecals { } } - private void UpdateTweakables() { + protected void UpdateTweakables() { // setup tweakable fields var scaleField = Fields[nameof(scale)]; var depthField = Fields[nameof(depth)]; @@ -369,12 +411,12 @@ namespace ConformalDecals { } } - private void Render(Camera camera) { + protected void Render(Camera camera) { if (!_isAttached) return; // render on each target object foreach (var target in _targets) { - target.Render(materialProperties.DecalMaterial, part.mpb, camera); + target.Render(_decalMaterial, part.mpb, camera); } } } diff --git a/Source/ConformalDecals/ModuleConformalDecalFlag.cs b/Source/ConformalDecals/ModuleConformalDecalFlag.cs index 1585c4e..1c53cef 100644 --- a/Source/ConformalDecals/ModuleConformalDecalFlag.cs +++ b/Source/ConformalDecals/ModuleConformalDecalFlag.cs @@ -1,4 +1,3 @@ -using System; using ConformalDecals.MaterialModifiers; using ConformalDecals.Util; using UnityEngine; @@ -7,29 +6,35 @@ namespace ConformalDecals { public class ModuleConformalDecalFlag : ModuleConformalDecalBase { [KSPField] public MaterialTextureProperty flagTextureProperty; + private const string defaultFlag = "Squad/Flags/default"; + public override void OnLoad(ConfigNode node) { - - if (materialProperties == null) { - // materialProperties is null, so make a new one - materialProperties = ScriptableObject.CreateInstance(); - materialProperties.Initialize(); - } - else { - // materialProperties already exists, so make a copy - materialProperties = ScriptableObject.Instantiate(materialProperties); - } - - // set shader - materialProperties.SetShader(decalShader); - base.OnLoad(node); + + + if (HighLogic.LoadedSceneIsGame) { + UpdateMaterials(); + UpdateScale(); + UpdateProjection(); + } } public override void OnStart(StartState state) { base.OnStart(state); - UpdateFlag(EditorLogic.FlagURL != string.Empty ? EditorLogic.FlagURL : HighLogic.CurrentGame.flagURL); - GameEvents.onMissionFlagSelect.Add(UpdateFlag); + if (HighLogic.LoadedSceneIsGame) { + UpdateFlag(EditorLogic.FlagURL != string.Empty ? EditorLogic.FlagURL : HighLogic.CurrentGame.flagURL); + GameEvents.onMissionFlagSelect.Add(UpdateFlag); + } + else { + UpdateFlag(defaultFlag); + } + } + + public override void OnIconCreate() { + this.Log("called OnIconCreate"); + OnStart(StartState.None); + UpdateScale(); } private void UpdateFlag(string flagUrl) { @@ -42,14 +47,17 @@ namespace ConformalDecals { if (flagTextureProperty == null) { this.Log("Initializing flag property"); - flagTextureProperty = new MaterialTextureProperty("_Decal", flagTexture, isMain: true); + flagTextureProperty = ScriptableObject.CreateInstance(); + flagTextureProperty.Name = "_Decal"; + flagTextureProperty.isMain = true; materialProperties.AddProperty(flagTextureProperty); } - else { - flagTextureProperty.texture = flagTexture; - } + else { } - materialProperties.UpdateMaterials(); + flagTextureProperty.texture = flagTexture; + + + UpdateMaterials(); } } } \ No newline at end of file diff --git a/Source/ConformalDecals/ModuleConformalDecalGeneric.cs b/Source/ConformalDecals/ModuleConformalDecalGeneric.cs index 7a2fa76..1025710 100644 --- a/Source/ConformalDecals/ModuleConformalDecalGeneric.cs +++ b/Source/ConformalDecals/ModuleConformalDecalGeneric.cs @@ -5,35 +5,42 @@ using UnityEngine; namespace ConformalDecals { public class ModuleConformalDecalGeneric : ModuleConformalDecalBase { public override void OnLoad(ConfigNode node) { - - if (materialProperties == null) { - // materialProperties is null, so make a new one - materialProperties = ScriptableObject.CreateInstance(); - materialProperties.Initialize(); - } - else { - // materialProperties already exists, so make a copy - materialProperties = ScriptableObject.Instantiate(materialProperties); - } + base.OnLoad(node); // set shader - materialProperties.SetShader(decalShader); + materialProperties.SetShader(shader); // add texture nodes foreach (var textureNode in node.GetNodes("TEXTURE")) { - materialProperties.AddProperty(new MaterialTextureProperty(textureNode)); + var textureProperty = ScriptableObject.CreateInstance(); + textureProperty.ParseNode(textureNode); + materialProperties.AddProperty(textureProperty); } // add float nodes foreach (var floatNode in node.GetNodes("FLOAT")) { - materialProperties.AddProperty(new MaterialFloatProperty(floatNode)); + var floatProperty = ScriptableObject.CreateInstance(); + floatProperty.ParseNode(floatNode); + materialProperties.AddProperty(floatProperty); } // add color nodes foreach (var colorNode in node.GetNodes("COLOR")) { - materialProperties.AddProperty(new MaterialColorProperty(colorNode)); + var colorProperty = ScriptableObject.CreateInstance(); + colorProperty.ParseNode(colorNode); + materialProperties.AddProperty(colorProperty); } - base.OnLoad(node); + if (HighLogic.LoadedSceneIsGame) { + UpdateMaterials(); + UpdateScale(); + UpdateProjection(); + } + } + + public override void OnIconCreate() { + this.Log("called OnIconCreate"); + OnStart(StartState.None); + UpdateScale(); } } } \ No newline at end of file diff --git a/Source/ConformalDecals/ProjectionTarget.cs b/Source/ConformalDecals/ProjectionTarget.cs index ce69143..9d559b6 100644 --- a/Source/ConformalDecals/ProjectionTarget.cs +++ b/Source/ConformalDecals/ProjectionTarget.cs @@ -17,36 +17,23 @@ namespace ConformalDecals { // property block private readonly MaterialPropertyBlock _decalMPB; - - private static readonly int normalID = Shader.PropertyToID("_BumpMap"); - private static readonly int normalIDST = Shader.PropertyToID("_BumpMap_ST"); + + private static readonly int normalID = Shader.PropertyToID("_BumpMap"); + private static readonly int normalIDST = Shader.PropertyToID("_BumpMap_ST"); public ProjectionTarget(MeshRenderer targetRenderer, Mesh targetMesh, bool useBaseNormal) { target = targetRenderer.transform; _targetRenderer = targetRenderer; _targetMesh = targetMesh; - var targetMaterial = targetRenderer.sharedMaterial; - _decalMPB = new MaterialPropertyBlock(); - - if (useBaseNormal && targetMaterial.HasProperty(normalID)) { - var normal = targetMaterial.GetTexture(normalID); - if (normal != null) { - - _decalMPB.SetTexture(normalID, targetMaterial.GetTexture(normalID)); - - var normalScale = targetMaterial.GetTextureScale(normalID); - var normalOffset = targetMaterial.GetTextureOffset(normalID); - - _decalMPB.SetVector(normalIDST, new Vector4(normalScale.x, normalScale.y, normalOffset.x, normalOffset.y)); - } - } } - public void Project(Matrix4x4 orthoMatrix, OrientedBounds projectorBounds, Transform projector) { + public void Project(Matrix4x4 orthoMatrix, OrientedBounds projectorBounds, Transform projector, bool useBaseNormal) { var targetBounds = _targetRenderer.bounds; if (projectorBounds.Intersects(targetBounds)) { _projectionEnabled = true; + + var targetMaterial = _targetRenderer.sharedMaterial; var projectorToTargetMatrix = target.worldToLocalMatrix * projector.localToWorldMatrix; var projectionMatrix = orthoMatrix * projectorToTargetMatrix.inverse; @@ -57,6 +44,19 @@ namespace ConformalDecals { _decalMPB.SetVector(_decalNormalID, decalNormal); _decalMPB.SetVector(_decalTangentID, decalTangent); Debug.Log($"Projection enabled for {target.gameObject}"); + + if (useBaseNormal && targetMaterial.HasProperty(normalID)) { + var normal = targetMaterial.GetTexture(normalID); + if (normal != null) { + + _decalMPB.SetTexture(normalID, targetMaterial.GetTexture(normalID)); + + var normalScale = targetMaterial.GetTextureScale(normalID); + var normalOffset = targetMaterial.GetTextureOffset(normalID); + + _decalMPB.SetVector(normalIDST, new Vector4(normalScale.x, normalScale.y, normalOffset.x, normalOffset.y)); + } + } } else { _projectionEnabled = false;