diff --git a/Assets/Shaders/DecalFeatureBumped.shader b/Assets/Shaders/DecalFeatureBumped.shader index d712b15..bf627fd 100644 --- a/Assets/Shaders/DecalFeatureBumped.shader +++ b/Assets/Shaders/DecalFeatureBumped.shader @@ -8,13 +8,14 @@ Shader "ConformalDecals/Feature/Bumped" _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Color("Background Color", Color) = (0.9,0.9,0.9,0.7) + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 [Header(Effects)] [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Color("_Color", Color) = (1,1,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 diff --git a/Assets/Shaders/DecalPaint.shader b/Assets/Shaders/DecalPaint.shader index ce4a613..ce3384b 100644 --- a/Assets/Shaders/DecalPaint.shader +++ b/Assets/Shaders/DecalPaint.shader @@ -11,13 +11,14 @@ Shader "ConformalDecals/Paint/Diffuse" _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Color("Background Color", Color) = (0.9,0.9,0.9,0.7) + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 [Header(Effects)] [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Color("_Color", Color) = (1,1,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 diff --git a/Assets/Shaders/DecalPaintSpecular.shader b/Assets/Shaders/DecalPaintSpecular.shader index 725bd62..4383382 100644 --- a/Assets/Shaders/DecalPaintSpecular.shader +++ b/Assets/Shaders/DecalPaintSpecular.shader @@ -12,7 +12,7 @@ Shader "ConformalDecals/Paint/Specular" _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Color("Background Color", Color) = (0.9,0.9,0.9,0.7) + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) [Header(Specularity)] _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) @@ -22,7 +22,8 @@ Shader "ConformalDecals/Paint/Specular" [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Color("_Color", Color) = (1,1,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 diff --git a/Assets/Shaders/DecalsCommon.cginc b/Assets/Shaders/DecalsCommon.cginc index 1f8994b..d9b6334 100644 --- a/Assets/Shaders/DecalsCommon.cginc +++ b/Assets/Shaders/DecalsCommon.cginc @@ -72,6 +72,7 @@ float3 _DecalTangent; float _Cutoff; float _DecalOpacity; float _Opacity; +float4 _Background; inline void decalClipAlpha(float alpha) { #ifndef DECAL_PREVIEW @@ -239,9 +240,9 @@ fixed4 frag_forward(v2f IN) : SV_Target #ifdef DECAL_PREVIEW if (any(IN.uv_decal > 1) || any(IN.uv_decal < 0)) o.Alpha = 0; - o.Albedo = lerp(_Color.rgb, o.Albedo, o.Alpha); + o.Albedo = lerp(_Background.rgb, o.Albedo, o.Alpha) * _Color.rgb; o.Normal = lerp(float3(0,0,1), o.Normal, o.Alpha); - o.Gloss = lerp(_Color.a, o.Gloss, 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 diff --git a/Distribution/GameData/ConformalDecals/Resources/conformaldecals.shab b/Distribution/GameData/ConformalDecals/Resources/conformaldecals.shab index 6da93c1..fe4f9fc 100644 Binary files a/Distribution/GameData/ConformalDecals/Resources/conformaldecals.shab and b/Distribution/GameData/ConformalDecals/Resources/conformaldecals.shab differ