From 1fc0d5f116decf1159c63b4f127b7a7d65f302b3 Mon Sep 17 00:00:00 2001 From: soupday <79094830+soupday@users.noreply.github.com> Date: Mon, 27 Feb 2023 01:41:23 +0000 Subject: [PATCH 1/3] 1.4.5 Flow map integration into wrinkle map system. Shader flag pass and recompile. --- ...ate_Baked_HeadWrinkleCustom_3D_Amplify.mat | 4 + .../RL_Template_HQ_HeadWrinkle_3D_Amplify.mat | 12 ++ .../RL_Template_HQ_Head_3D_Amplify.mat | 80 ++++++++++++ .../RL_Template_HQ_Skin_3D_Amplify.mat | 80 ++++++++++++ .../RL_Template_HQ_Teeth_3D_Amplify.mat | 2 +- ...e_Baked_HeadWrinkleCustom_3D_Amplify_T.mat | 6 +- ...L_Template_HQ_HeadWrinkle_3D_Amplify_T.mat | 12 ++ .../RL_Template_HQ_Head_3D_Amplify_T.mat | 80 ++++++++++++ .../RL_Template_HQ_Skin_3D_Amplify_T.mat | 80 ++++++++++++ .../RL_Template_HQ_Teeth_3D_Amplify_T.mat | 2 +- .../RL_Template_HQ_Teeth_3D.mat | 2 +- .../RL_Amplify_CorneaShaderParallax_3D.shader | 45 ++++--- ...plify_CorneaShaderParallax_Baked_3D.shader | 53 +++++--- ...mplify_HairShader_1st_Pass_Baked_3D.shader | 48 ++++--- ...ify_HairShader_1st_Pass_Variants_3D.shader | 59 +++++---- ...mplify_HairShader_2nd_Pass_Baked_3D.shader | 48 ++++--- ...ify_HairShader_2nd_Pass_Variants_3D.shader | 59 +++++---- .../RL_Amplify_HairShader_Baked_3D.shader | 54 +++++--- .../RL_Amplify_HairShader_Clipped_3D.shader | 59 +++++---- .../RL_Amplify_HairShader_Coverage_3D.shader | 59 +++++---- ...mplify_HairShader_Coverage_Baked_3D.shader | 48 ++++--- ..._Amplify_HeadShaderWrinkle_Baked_3D.shader | 97 +++++++++------ 3D/Shaders/Amplify/RL_Amplify_Lit_3D.shader | 48 ++++--- .../RL_Amplify_Lit_AlphaBlend_3D.shader | 48 ++++--- ..._Amplify_Lit_AlphaBlend_DblSided_3D.shader | 48 ++++--- .../RL_Amplify_Lit_AlphaClipped_3D.shader | 48 ++++--- .../Amplify/RL_Amplify_Lit_DblSided_3D.shader | 48 ++++--- .../Amplify/RL_Amplify_Lit_SSS_3D.shader | 56 ++++++--- .../RL_Amplify_SkinShader_Variants_3D.shader | 117 +++++++++++------- .../Amplify/RL_Amplify_TongueShader_3D.shader | 43 ++++--- .../Amplify/RL_Amplify_WrinkleMapSystem.asset | 37 +++--- .../Amplify/RL_Amplify_WrinkleMaskBlend.asset | 9 +- ...orneaShaderParallax_3D_Tessellation.shader | 45 ++++--- ...haderParallax_Baked_3D_Tessellation.shader | 53 +++++--- ...ader_1st_Pass_Baked_3D_Tessellation.shader | 48 ++++--- ...r_1st_Pass_Variants_3D_Tessellation.shader | 59 +++++---- ...ader_2nd_Pass_Baked_3D_Tessellation.shader | 48 ++++--- ...r_2nd_Pass_Variants_3D_Tessellation.shader | 59 +++++---- ...fy_HairShader_Baked_3D_Tessellation.shader | 54 +++++--- ..._HairShader_Clipped_3D_Tessellation.shader | 59 +++++---- ...HairShader_Coverage_3D_Tessellation.shader | 59 +++++---- ...ader_Coverage_Baked_3D_Tessellation.shader | 48 ++++--- ...ShaderWrinkle_Baked_3D_Tessellation.shader | 105 +++++++++------- .../RL_Amplify_Lit_3D_Tessellation.shader | 48 ++++--- ...lify_Lit_AlphaBlend_3D_Tessellation.shader | 48 ++++--- ...AlphaBlend_DblSided_3D_Tessellation.shader | 48 ++++--- ...fy_Lit_AlphaClipped_3D_Tessellation.shader | 48 ++++--- ...mplify_Lit_DblSided_3D_Tessellation.shader | 48 ++++--- .../RL_Amplify_Lit_SSS_3D_Tessellation.shader | 56 ++++++--- ...SkinShader_Variants_3D_Tessellation.shader | 103 +++++++++------ ...Amplify_TeethShader_3D_Tessellation.shader | 48 ++++--- ...mplify_TongueShader_3D_Tessellation.shader | 43 ++++--- CHANGELOG.md | 3 + Editor/Compute/RLBakeShader.compute | 19 +++ Editor/ComputeBake.cs | 34 +++++ Editor/Importer.cs | 11 +- Editor/ImporterMenu.cs | 13 ++ Editor/ImporterWindow.cs | 13 +- Editor/Pipeline.cs | 2 +- Editor/PreviewScene.cs | 21 ++-- Editor/Util.cs | 55 ++++---- Editor/WindowManager.cs | 41 ++++-- package.json | 2 +- 63 files changed, 1948 insertions(+), 884 deletions(-) diff --git a/3D/Material Templates/Amplify/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify.mat index 2acd45d..089521f 100644 --- a/3D/Material Templates/Amplify/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify.mat @@ -67,6 +67,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleFlowPack: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _WrinkleMaskSet123: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/3D/Material Templates/Amplify/RL_Template_HQ_HeadWrinkle_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_HQ_HeadWrinkle_3D_Amplify.mat index 5689663..d47b126 100644 --- a/3D/Material Templates/Amplify/RL_Template_HQ_HeadWrinkle_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_HQ_HeadWrinkle_3D_Amplify.mat @@ -89,6 +89,18 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _WrinkleMaskSet123: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/3D/Material Templates/Amplify/RL_Template_HQ_Head_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_HQ_Head_3D_Amplify.mat index 09df602..50213e9 100644 --- a/3D/Material Templates/Amplify/RL_Template_HQ_Head_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_HQ_Head_3D_Amplify.mat @@ -77,12 +77,81 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet123: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1A: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1B: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _texcoord: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - BOOLEAN_IS_HEAD: 1 + - BOOLEAN_USE_WRINKLE: 0 - _AOStrength: 1 - _AScatterScale: 1 - _ASmoothnessMod: 0 @@ -132,6 +201,17 @@ Material: - _DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 0} - _SubsurfaceFalloff: {r: 1, g: 0.36862746, b: 0.29803917, a: 0} + - _WrinkleValueSet12CL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet12CR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2R: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3DB: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3R: {r: 0, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] --- !u!114 &3368893710744450478 MonoBehaviour: diff --git a/3D/Material Templates/Amplify/RL_Template_HQ_Skin_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_HQ_Skin_3D_Amplify.mat index 243f6ac..7993783 100644 --- a/3D/Material Templates/Amplify/RL_Template_HQ_Skin_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_HQ_Skin_3D_Amplify.mat @@ -92,12 +92,81 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet123: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1A: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1B: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _texcoord: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - BOOLEAN_IS_HEAD: 0 + - BOOLEAN_USE_WRINKLE: 0 - _AOStrength: 1 - _AScatterScale: 1 - _ASmoothnessMod: 0 @@ -147,6 +216,17 @@ Material: - _DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 0} - _SubsurfaceFalloff: {r: 1, g: 0.36862743, b: 0.29803914, a: 0} + - _WrinkleValueSet12CL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet12CR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2R: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3DB: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3R: {r: 0, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] --- !u!114 &168235113489978298 MonoBehaviour: diff --git a/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat index 15ba7e8..2fbf6a7 100644 --- a/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat @@ -71,7 +71,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 0.5 + - _SmoothnessPower: 1 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify_T.mat index 5d2de8c..c4095dc 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_Baked_HeadWrinkleCustom_3D_Amplify_T.mat @@ -67,6 +67,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleFlowPack: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _WrinkleMaskSet123: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -124,7 +128,7 @@ Material: - _TransScattering: 2 - _TransShadow: 0.5 - _Translucency: 1 - - __dirty: 0 + - __dirty: 1 m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_HeadWrinkle_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_HeadWrinkle_3D_Amplify_T.mat index e957557..6dc812a 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_HeadWrinkle_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_HeadWrinkle_3D_Amplify_T.mat @@ -89,6 +89,18 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _WrinkleMaskSet123: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Head_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Head_3D_Amplify_T.mat index 170e708..c13b33e 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Head_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Head_3D_Amplify_T.mat @@ -77,12 +77,81 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet123: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1A: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1B: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _texcoord: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - BOOLEAN_IS_HEAD: 1 + - BOOLEAN_USE_WRINKLE: 0 - _AOStrength: 1 - _AScatterScale: 1 - _ASmoothnessMod: 0 @@ -134,6 +203,17 @@ Material: - _DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 0} - _SubsurfaceFalloff: {r: 1, g: 0.36862746, b: 0.29803917, a: 0} + - _WrinkleValueSet12CL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet12CR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2R: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3DB: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3R: {r: 0, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] --- !u!114 &3368893710744450478 MonoBehaviour: diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Skin_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Skin_3D_Amplify_T.mat index 470e88f..7b753e6 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Skin_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Skin_3D_Amplify_T.mat @@ -92,12 +92,81 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleDiffuseBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleFlowMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet123: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1A: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet1B: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleMaskSet3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleNormalBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WrinkleRoughnessBlend3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _texcoord: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - BOOLEAN_IS_HEAD: 0 + - BOOLEAN_USE_WRINKLE: 0 - _AOStrength: 1 - _AScatterScale: 1 - _ASmoothnessMod: 0 @@ -149,6 +218,17 @@ Material: - _DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 0} - _SubsurfaceFalloff: {r: 1, g: 0.36862743, b: 0.29803914, a: 0} + - _WrinkleValueSet12CL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet12CR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1AR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BL: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet1BR: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet2R: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3DB: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3L: {r: 0, g: 0, b: 0, a: 0} + - _WrinkleValueSet3R: {r: 0, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] --- !u!114 &168235113489978298 MonoBehaviour: diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat index 418a8ce..39a2a32 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat @@ -72,7 +72,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 0.5 + - _SmoothnessPower: 1 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 diff --git a/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat b/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat index e612b0f..142cee8 100644 --- a/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat +++ b/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat @@ -67,7 +67,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 0.5 + - _SmoothnessPower: 1 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 diff --git a/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_3D.shader b/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_3D.shader index 91c99ff..7c617b9 100644 --- a/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" { @@ -67,6 +67,13 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" #include "Lighting.cginc" #pragma target 3.0 #pragma shader_feature_local BOOLEAN_ISCORNEA_ON + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -96,24 +103,27 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" }; uniform half _IsLeftEye; - uniform sampler2D _ScleraNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ScleraNormalMap); uniform half _ScleraNormalTiling; + SamplerState sampler_ScleraNormalMap; uniform half _ScleraNormalStrength; uniform half _IrisRadius; uniform half _IrisScale; uniform half _LimbusWidth; - uniform sampler2D _ColorBlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ColorBlendMap); uniform half4 _ColorBlendMap_ST; + SamplerState sampler_ColorBlendMap; uniform half4 _LimbusColor; uniform half4 _IrisCloudyColor; uniform half _IrisHue; - uniform sampler2D _CorneaDiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_CorneaDiffuseMap); uniform half _IrisDepth; uniform half _PupilScale; uniform half _DepthRadius; uniform half _IOR; uniform half _PMod; uniform half _ParallaxRadius; + SamplerState sampler_CorneaDiffuseMap; uniform half4 _IrisColor; uniform half _IrisSaturation; uniform half _IrisBrightness; @@ -121,21 +131,24 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" uniform half _LimbusDarkWidth; uniform half4 _CornerShadowColor; uniform half _ScleraHue; - uniform sampler2D _ScleraDiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ScleraDiffuseMap); uniform half _ScleraScale; + SamplerState sampler_ScleraDiffuseMap; uniform half _ScleraSaturation; uniform half _ScleraBrightness; uniform half _ShadowHardness; uniform half _ShadowRadius; uniform half _ColorBlendStrength; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _CorneaSmoothness; uniform half _ScleraSmoothness; uniform half _AOStrength; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; + SamplerState sampler_MaskMap; uniform half _Translucency; uniform half _TransNormalDistortion; uniform half _TransScattering; @@ -207,7 +220,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" half radial203 = length( ( i.uv_texcoord - float2( 0.5,0.5 ) ) ); half smoothstepResult28 = smoothstep( ( scaledIrisRadius209 - ( irisScale208 * _LimbusWidth ) ) , scaledIrisRadius209 , radial203); half irisMask213 = smoothstepResult28; - o.Normal = UnpackScaleNormal( tex2D( _ScleraNormalMap, uv_TexCoord294 ), ( _ScleraNormalStrength * irisMask213 ) ); + o.Normal = UnpackScaleNormal( SAMPLE_TEXTURE2D( _ScleraNormalMap, sampler_ScleraNormalMap, uv_TexCoord294 ), ( _ScleraNormalStrength * irisMask213 ) ); float2 uv_ColorBlendMap = i.uv_texcoord * _ColorBlendMap_ST.xy + _ColorBlendMap_ST.zw; half irisDepth219 = _IrisDepth; half temp_output_1_0_g1 = ( _DepthRadius * scaledIrisRadius209 ); @@ -225,7 +238,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" half temp_output_152_0 = ( irisScale208 * _ParallaxRadius ); half saferPower157 = abs( saturate( ( ( temp_output_152_0 - radial203 ) / temp_output_152_0 ) ) ); half2 lerpResult136 = lerp( uv_TexCoord93 , (( uv_TexCoord93 - ( (normalizeResult117).xy * _IrisDepth ) )*temp_output_122_0 + ( ( 1.0 - temp_output_122_0 ) * 0.5 )) , pow( saferPower157 , 0.25 )); - half3 hsvTorgb174 = RGBToHSV( ( tex2D( _CorneaDiffuseMap, lerpResult136 ) * _IrisColor ).rgb ); + half3 hsvTorgb174 = RGBToHSV( ( SAMPLE_TEXTURE2D( _CorneaDiffuseMap, sampler_CorneaDiffuseMap, lerpResult136 ) * _IrisColor ).rgb ); half3 hsvTorgb184 = HSVToRGB( half3(( ( _IrisHue - 0.5 ) + hsvTorgb174.x ),( hsvTorgb174.y * _IrisSaturation ),( hsvTorgb174.z * _IrisBrightness )) ); half4 blendOpSrc201 = _LimbusColor; half4 blendOpDest201 = ( ( _IrisCloudyColor * float4( 0.5,0.5,0.5,1 ) ) + half4( hsvTorgb184 , 0.0 ) ); @@ -236,7 +249,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" half2 temp_cast_5 = (temp_output_223_0).xx; half2 temp_cast_6 = (( ( 1.0 - temp_output_223_0 ) * 0.5 )).xx; float2 uv_TexCoord228 = i.uv_texcoord * temp_cast_5 + temp_cast_6; - half3 hsvTorgb231 = RGBToHSV( tex2D( _ScleraDiffuseMap, uv_TexCoord228 ).rgb ); + half3 hsvTorgb231 = RGBToHSV( SAMPLE_TEXTURE2D( _ScleraDiffuseMap, sampler_ScleraDiffuseMap, uv_TexCoord228 ).rgb ); half3 hsvTorgb232 = HSVToRGB( half3(( ( _ScleraHue - 0.5 ) + hsvTorgb231.x ),( hsvTorgb231.y * _ScleraSaturation ),( hsvTorgb231.z * _ScleraBrightness )) ); half4 blendOpSrc23 = _CornerShadowColor; half4 blendOpDest23 = half4( hsvTorgb232 , 0.0 ); @@ -244,17 +257,17 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" half temp_output_1_0_g13 = ( ( _ShadowHardness * _ScleraScale ) * temp_output_247_0 ); half4 lerpBlendMode23 = lerp(blendOpDest23,( blendOpSrc23 * blendOpDest23 ),saturate( ( ( radial203 - temp_output_1_0_g13 ) / ( temp_output_247_0 - temp_output_1_0_g13 ) ) )); half4 lerpResult261 = lerp( ( saturate( lerpBlendMode201 )) , ( saturate( lerpBlendMode23 )) , irisMask213); - half4 blendOpSrc21 = tex2D( _ColorBlendMap, uv_ColorBlendMap ); + half4 blendOpSrc21 = SAMPLE_TEXTURE2D( _ColorBlendMap, sampler_ColorBlendMap, uv_ColorBlendMap ); half4 blendOpDest21 = lerpResult261; half4 lerpBlendMode21 = lerp(blendOpDest21,( blendOpSrc21 * blendOpDest21 ),_ColorBlendStrength); half4 temp_output_21_0 = ( saturate( lerpBlendMode21 )); o.Albedo = temp_output_21_0.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; half lerpResult271 = lerp( _CorneaSmoothness , _ScleraSmoothness , irisMask213); o.Smoothness = lerpResult271; float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - o.Occlusion = ( 1.0 - ( _AOStrength * ( 1.0 - tex2D( _MaskMap, uv_MaskMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _AOStrength * ( 1.0 - SAMPLE_TEXTURE2D( _MaskMap, sampler_MaskMap, uv_MaskMap ).g ) ) ); half lerpResult315 = lerp( _IrisSubsurfaceScale , _ScleraSubsurfaceScale , irisMask213); half4 baseColor370 = temp_output_21_0; o.Translucency = ( lerpResult315 * 0.5 * ( _SubsurfaceFalloff * baseColor370 ) ).rgb; @@ -347,7 +360,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;204;-6596.911,-3587.629;Inherit;False;1134.455;323.4619;Comment;5;37;36;40;38;203;Radial Gradient;1,0,0.9132481,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;59;-6599.231,-2888.385;Inherit;False;755.1367;301.8584;;5;27;26;25;208;209;Scaled Iris Radius;1,0,0.8158517,1;0;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;36;-6546.911,-3537.629;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -539,7 +552,7 @@ Node;AmplifyShaderEditor.WireNode;374;498.9136,712.3886;Inherit;False;1;0;FLOAT3 Node;AmplifyShaderEditor.WireNode;375;495.321,817.2252;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;377;499.1292,1050.968;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;378;499.403,1174.896;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;369;996.8561,720.2521;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;7;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;369;996.8561,720.2521;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;7;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.RangedFloatNode;112;-6203.872,-120.0343;Inherit;False;Property;_IOR;Cornea IOR;17;0;Create;False;0;0;0;False;0;False;1.4;1.4;1;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;43;-7572.302,-566.9115;Inherit;False;Property;_DepthRadius;Pupil Outer Radius;28;0;Create;False;0;0;0;False;0;False;0.8;0.8;0;1;0;1;FLOAT;0 WireConnection;37;0;36;0 @@ -731,4 +744,4 @@ WireConnection;369;4;376;0 WireConnection;369;5;377;0 WireConnection;369;7;378;0 ASEEND*/ -//CHKSM=E69D6D445520493EB7BF90E147954DD09488DA0F \ No newline at end of file +//CHKSM=568B0C379F1C93F6A378C1B8EF5FAAF3F0E3C7C8 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_Baked_3D.shader index d4f9a3e..a967192 100644 --- a/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_CorneaShaderParallax_Baked_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" { @@ -44,6 +44,13 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" #include "UnityPBSLighting.cginc" #include "Lighting.cginc" #pragma target 3.0 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -72,31 +79,38 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" half3 Translucency; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; - uniform sampler2D _MainTex; + SamplerState sampler_DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; + SamplerState sampler_MainTex; uniform half _IrisDepth; uniform half _PupilScale; uniform half _IOR; uniform half _PMod; uniform half4 _Color; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _Translucency; uniform half _TransNormalDistortion; uniform half _TransScattering; @@ -104,8 +118,9 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" uniform half _TransAmbient; uniform half _TransShadow; uniform half _SubsurfaceMask; - uniform sampler2D _SubsurfaceMaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SubsurfaceMaskMap); uniform half4 _SubsurfaceMaskMap_ST; + SamplerState sampler_SubsurfaceMaskMap; inline half4 LightingStandardCustom(SurfaceOutputStandardCustom s, half3 viewDir, UnityGI gi ) { @@ -145,9 +160,9 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - half4 tex2DNode370 = tex2D( _DetailMask, uv_DetailMask ); + half4 tex2DNode370 = SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ); half microNormalMask376 = tex2DNode370.a; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * microNormalMask376 ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * microNormalMask376 ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; half irisDepth219 = _IrisDepth; half pupilScaleMask372 = tex2DNode370.g; @@ -168,19 +183,19 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" half parallaxHeightMask375 = tex2DNode370.b; half2 lerpResult136 = lerp( uv_TexCoord93 , (( uv_TexCoord93 - ( (normalizeResult117).xy * irisDepth219 ) )*temp_output_122_0 + ( ( 1.0 - temp_output_122_0 ) * 0.5 )) , parallaxHeightMask375); half eyeBlendMask374 = tex2DNode370.r; - half4 lerpResult383 = lerp( tex2D( _MainTex, uv_MainTex ) , tex2D( _MainTex, lerpResult136 ) , eyeBlendMask374); + half4 lerpResult383 = lerp( SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) , SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, lerpResult136 ) , eyeBlendMask374); half4 baseColor418 = ( lerpResult383 * _Color ); o.Albedo = baseColor418.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode412 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode412 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode412.g ); o.Smoothness = ( tex2DNode412.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); float2 uv_SubsurfaceMaskMap = i.uv_texcoord * _SubsurfaceMaskMap_ST.xy + _SubsurfaceMaskMap_ST.zw; - o.Translucency = ( _SubsurfaceMask * 0.5 * tex2D( _SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) ).rgb; + o.Translucency = ( _SubsurfaceMask * 0.5 * SAMPLE_TEXTURE2D( _SubsurfaceMaskMap, sampler_SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) ).rgb; o.Alpha = 1; } @@ -270,7 +285,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.RangedFloatNode;72;-5475.112,-249.8526;Inherit;False;Property;_IrisDepth;Iris Depth;17;0;Create;True;0;0;0;False;0;False;0.3;0.2997;0.1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;219;-5107.964,-248.4698;Inherit;False;irisDepth;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;168;-5329.34,-1188.403;Inherit;False;1999.866;565.8079;;12;73;74;70;71;220;69;83;93;91;89;88;373;Pupil Scaling;1,0.9427493,0,1;0;0 @@ -366,7 +381,7 @@ Node;AmplifyShaderEditor.WireNode;433;-14.69804,1350.512;Inherit;False;1;0;COLOR Node;AmplifyShaderEditor.StickyNoteNode;371;-5785.751,-14.97292;Inherit;False;226;140;Detail Mask;;1,1,1,1;r = eye blend mask$g = pupil scale mask$b = parallax height mask$a = micro normal mask;0;0 Node;AmplifyShaderEditor.WireNode;432;-16.65876,1426.983;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WireNode;427;-16.65872,1507.374;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;426;368.3667,1468.948;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;20;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;426;368.3667,1468.948;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;20;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;219;0;72;0 WireConnection;71;0;69;0 WireConnection;71;1;220;0 @@ -459,4 +474,4 @@ WireConnection;426;4;429;0 WireConnection;426;5;430;0 WireConnection;426;7;431;0 ASEEND*/ -//CHKSM=16D07B5A053F53D218AD56D172B2CB54706775F2 \ No newline at end of file +//CHKSM=9771D4C0689D7B9F6609AF4E2F633A910027AEC9 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Baked_3D.shader index e651ab1..35ff1b1 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Baked_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" { @@ -47,6 +47,13 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" #pragma target 3.0 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -77,24 +84,28 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -106,8 +117,9 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _AlphaClip2; @@ -131,19 +143,19 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g857 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g857 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g857 = lerp( break109_g857.g , ( 1.0 - break109_g857.g ) , _FlowMapFlipGreen); half3 appendResult98_g857 = (half3(break109_g857.r , lerpResult123_g857 , break109_g857.b)); half3 flowTangent107_g857 = (WorldNormalVector( i , ( ( appendResult98_g857 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g857 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g857 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g860 = normalize( ( flowTangent107_g857 + ( worldNormal86_g857 * lerpResult81_g857 ) ) ); half3 shiftedTangent119_g857 = normalizeResult10_g860; @@ -161,11 +173,11 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" half dotResult16_g859 = dot( shiftedTangent119_g857 , normalizeResult14_g859 ); half smoothstepResult22_g859 = smoothstep( -1.0 , 0.0 , dotResult16_g859); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g857 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g857 = ( max( ( ( 2.0 / ( temp_output_233_0_g857 * temp_output_233_0_g857 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask647 = tex2DNode617.a; half dotResult266_g857 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g857 ); half translucencyWrap283_g857 = _Translucency; @@ -203,7 +215,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip2); - c.rgb = ( staticSwitch250_g857 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g857 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -314,7 +326,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;13;610;19;518;106;105;331;107;112;113;104;648;380;651;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;5;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -378,7 +390,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;453.1596,1384.007;Inherit;False;518 Node;AmplifyShaderEditor.RangedFloatNode;162;345.7961,1470.618;Inherit;False;Property;_AlphaClip2;Alpha Clip;10;0;Create;False;0;0;0;False;0;False;0.15;1;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;573.7153,1159.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;646;760.0784,1265.975;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1009.693,1191.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1009.693,1191.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;107;0;105;0 WireConnection;107;1;106;0 @@ -431,4 +443,4 @@ WireConnection;646;2;162;0 WireConnection;644;9;521;0 WireConnection;644;13;646;0 ASEEND*/ -//CHKSM=5A018AE9B2F7573A7B1550B1F8510D9EF1995807 \ No newline at end of file +//CHKSM=0D562C8CCCA4DD50EF5E66E139B88073898A52B4 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Variants_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Variants_3D.shader index 60721f7..c4f6b42 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Variants_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_1st_Pass_Variants_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" { @@ -77,6 +77,19 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -107,39 +120,40 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -164,8 +178,9 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; @@ -198,20 +213,20 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g880 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g880 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g880 = lerp( break109_g880.g , ( 1.0 - break109_g880.g ) , _FlowMapFlipGreen); half3 appendResult98_g880 = (half3(break109_g880.r , lerpResult123_g880 , break109_g880.b)); half3 flowTangent107_g880 = (WorldNormalVector( i , ( ( appendResult98_g880 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g880 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g880 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g883 = normalize( ( flowTangent107_g880 + ( worldNormal86_g880 * lerpResult81_g880 ) ) ); half3 shiftedTangent119_g880 = normalizeResult10_g883; @@ -229,7 +244,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" half dotResult16_g882 = dot( shiftedTangent119_g880 , normalizeResult14_g882 ); half smoothstepResult22_g882 = smoothstep( -1.0 , 0.0 , dotResult16_g882); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness587 = lerpResult128; @@ -240,12 +255,12 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" half translucencyWrap283_g880 = _Translucency; half lambertMask290_g880 = saturate( ( ( dotResult266_g880 * ( 1.0 - translucencyWrap283_g880 ) ) + translucencyWrap283_g880 ) ); half temp_output_84_0_g881 = lambertMask290_g880; - half4 temp_output_13_0_g881 = ( ( smoothstepResult22_g882 * pow( saturate( ( 1.0 - ( dotResult16_g882 * dotResult16_g882 ) ) ) , specularPower237_g880 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g881 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g881 = ( ( smoothstepResult22_g882 * pow( saturate( ( 1.0 - ( dotResult16_g882 * dotResult16_g882 ) ) ) , specularPower237_g880 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g881 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g773 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g773 = root58; half lerpResult50_g773 = lerp( temp_output_55_0_g773 , ( 1.0 - temp_output_55_0_g773 ) , _InvertRootMap); half4 lerpResult44_g773 = lerp( _RootColor , _EndColor , lerpResult50_g773); @@ -270,7 +285,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -304,7 +319,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip); - c.rgb = ( staticSwitch250_g880 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g880 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -415,7 +430,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.SamplerNode;26;-5664.931,1926.134;Inherit;True;Property;_RootMap;Root Map;34;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -526,7 +541,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;162;329.1628,1539.112;Inherit;False;Pro Node;AmplifyShaderEditor.GetLocalVarNode;521;426.9197,1435.96;Inherit;False;518;alpha;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;545.9501,1150.29;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;594;767.923,1304.107;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;593;1156.928,1176.715;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;1;False;;3;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;593;1156.928,1176.715;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;1;False;;3;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.FunctionNode;629;-114.9783,0.531311;Inherit;False;RL_Amplify_Function_Hair_AnisotropicLighting_3D;-1;;880;1c2ce0d33e6d0364e94912a58b37cdd2;2,264,0,88,0;19;42;COLOR;1,1,1,0;False;161;FLOAT;1;False;178;FLOAT;1;False;84;FLOAT3;0,0,1;False;26;FLOAT3;0,0,1;False;131;COLOR;1,1,1,0;False;7;FLOAT;50;False;172;FLOAT;0;False;132;FLOAT;1;False;245;FLOAT;2;False;108;COLOR;0,0,0,0;False;112;FLOAT;0;False;71;FLOAT;0.5;False;75;FLOAT;-0.1;False;80;FLOAT;0.1;False;282;FLOAT;0;False;207;FLOAT;0;False;208;FLOAT;0;False;310;FLOAT;1;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;613;-198.6324,680.7527;Inherit;False;518;alpha;1;0;OBJECT;;False;1;FLOAT;0 WireConnection;58;0;26;1 @@ -627,4 +642,4 @@ WireConnection;629;207;265;0 WireConnection;629;208;263;0 WireConnection;629;310;613;0 ASEEND*/ -//CHKSM=895B02B94A0BAEF961E652895B1BD9A5ACEB9803 \ No newline at end of file +//CHKSM=88C29CBD71097ECBF0D1D2A63B3A45ABDEEB70E5 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Baked_3D.shader index 878cea3..27783ff 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Baked_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" { @@ -46,6 +46,13 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" #pragma target 3.0 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -76,24 +83,28 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -105,8 +116,9 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi ) @@ -129,19 +141,19 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g853 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g853 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g853 = lerp( break109_g853.g , ( 1.0 - break109_g853.g ) , _FlowMapFlipGreen); half3 appendResult98_g853 = (half3(break109_g853.r , lerpResult123_g853 , break109_g853.b)); half3 flowTangent107_g853 = (WorldNormalVector( i , ( ( appendResult98_g853 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g853 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g853 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g856 = normalize( ( flowTangent107_g853 + ( worldNormal86_g853 * lerpResult81_g853 ) ) ); half3 shiftedTangent119_g853 = normalizeResult10_g856; @@ -159,11 +171,11 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" half dotResult16_g855 = dot( shiftedTangent119_g853 , normalizeResult14_g855 ); half smoothstepResult22_g855 = smoothstep( -1.0 , 0.0 , dotResult16_g855); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g853 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g853 = ( max( ( ( 2.0 / ( temp_output_233_0_g853 * temp_output_233_0_g853 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask647 = tex2DNode617.a; half dotResult266_g853 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g853 ); half translucencyWrap283_g853 = _Translucency; @@ -201,7 +213,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05); - c.rgb = ( staticSwitch250_g853 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g853 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -312,7 +324,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;11;610;19;518;106;105;331;107;112;113;104;380;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;4;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -376,7 +388,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;495.1596,1439.007;Inherit;False;518 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;644;413.7899,1541.393;Inherit;False;Constant;_TransparencyAlphaClip0;Transparency Alpha Clip 0;49;0;Create;True;0;0;0;False;0;False;0.05;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ClipNode;646;776.3019,1291.364;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;645;1031.346,1247.088;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;1;alpha:blend;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;645;1031.346,1247.088;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;1;alpha:blend;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;107;0;105;0 WireConnection;107;1;106;0 @@ -429,4 +441,4 @@ WireConnection;646;2;644;0 WireConnection;645;9;521;0 WireConnection;645;13;646;0 ASEEND*/ -//CHKSM=B65D858C9F814695354CDB75A68D465CEC86B0A0 \ No newline at end of file +//CHKSM=AEC787165D0F8C1AB2C18E9393AAE4AEE55428B4 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Variants_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Variants_3D.shader index 9b78a62..1fdac30 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Variants_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_2nd_Pass_Variants_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" { @@ -77,6 +77,19 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustomLighting keepalpha noshadow nometa alpha:fade struct Input { @@ -100,39 +113,40 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPower; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -157,8 +171,9 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; @@ -190,20 +205,20 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g958 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g958 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g958 = lerp( break109_g958.g , ( 1.0 - break109_g958.g ) , _FlowMapFlipGreen); half3 appendResult98_g958 = (half3(break109_g958.r , lerpResult123_g958 , break109_g958.b)); half3 flowTangent107_g958 = (WorldNormalVector( i , ( ( appendResult98_g958 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g958 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g958 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g961 = normalize( ( flowTangent107_g958 + ( worldNormal86_g958 * lerpResult81_g958 ) ) ); half3 shiftedTangent119_g958 = normalizeResult10_g961; @@ -221,7 +236,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" half dotResult16_g960 = dot( shiftedTangent119_g958 , normalizeResult14_g960 ); half smoothstepResult22_g960 = smoothstep( -1.0 , 0.0 , dotResult16_g960); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness601 = lerpResult128; @@ -232,12 +247,12 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" half translucencyWrap283_g958 = _Translucency; half lambertMask290_g958 = saturate( ( ( dotResult266_g958 * ( 1.0 - translucencyWrap283_g958 ) ) + translucencyWrap283_g958 ) ); half temp_output_84_0_g959 = lambertMask290_g958; - half4 temp_output_13_0_g959 = ( ( smoothstepResult22_g960 * pow( saturate( ( 1.0 - ( dotResult16_g960 * dotResult16_g960 ) ) ) , specularPower237_g958 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g959 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g959 = ( ( smoothstepResult22_g960 * pow( saturate( ( 1.0 - ( dotResult16_g960 * dotResult16_g960 ) ) ) , specularPower237_g958 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g959 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g842 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g842 = root58; half lerpResult50_g842 = lerp( temp_output_55_0_g842 , ( 1.0 - temp_output_55_0_g842 ) , _InvertRootMap); half4 lerpResult44_g842 = lerp( _RootColor , _EndColor , lerpResult50_g842); @@ -262,7 +277,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -296,7 +311,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05882353); - c.rgb = ( staticSwitch250_g958 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g958 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -316,7 +331,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D" } } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.SamplerNode;26;-5664.931,1926.134;Inherit;True;Property;_RootMap;Root Map;33;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -430,7 +445,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;472.1129,1407.031;Inherit;False;518 Node;AmplifyShaderEditor.RangedFloatNode;578;373.4657,1503.249;Inherit;False;Constant;_TransparencyAlphaClip0;Transparency Alpha Clip 0;49;0;Create;True;0;0;0;False;0;False;0.05882353;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;668.0759,1164.947;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;612;829.2889,1249.731;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;611;1122.054,1161.637;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;1;Custom;0;True;False;0;True;Transparent;AlphaZLess;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;False;2;5;False;;10;False;;0;7;False;;8;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;1;alpha:fade;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;611;1122.054,1161.637;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;1;Custom;0;True;False;0;True;Transparent;AlphaZLess;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;False;2;5;False;;10;False;;0;7;False;;8;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;1;alpha:fade;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;58;0;26;1 WireConnection;517;0;19;0 WireConnection;523;52;519;0 @@ -530,4 +545,4 @@ WireConnection;612;2;578;0 WireConnection;611;9;521;0 WireConnection;611;13;612;0 ASEEND*/ -//CHKSM=F788BF8C0D9C0D3077F9BB5C193B1680459A036B \ No newline at end of file +//CHKSM=9A8C553A713A44858B007EAF224885C52DA61885 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_Baked_3D.shader index e21ff72..9dcb061 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_Baked_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" { @@ -49,6 +49,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" #pragma shader_feature_local _CLIPQUALITY_STANDARD _CLIPQUALITY_DITHERED #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -80,24 +93,28 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -109,8 +126,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _AlphaClip2; @@ -150,19 +168,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g853 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g853 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g853 = lerp( break109_g853.g , ( 1.0 - break109_g853.g ) , _FlowMapFlipGreen); half3 appendResult98_g853 = (half3(break109_g853.r , lerpResult123_g853 , break109_g853.b)); half3 flowTangent107_g853 = (WorldNormalVector( i , ( ( appendResult98_g853 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g853 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g853 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g856 = normalize( ( flowTangent107_g853 + ( worldNormal86_g853 * lerpResult81_g853 ) ) ); half3 shiftedTangent119_g853 = normalizeResult10_g856; @@ -180,11 +198,11 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" half dotResult16_g855 = dot( shiftedTangent119_g853 , normalizeResult14_g855 ); half smoothstepResult22_g855 = smoothstep( -1.0 , 0.0 , dotResult16_g855); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g853 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g853 = ( max( ( ( 2.0 / ( temp_output_233_0_g853 * temp_output_233_0_g853 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask646 = tex2DNode617.a; half dotResult266_g853 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g853 ); half translucencyWrap283_g853 = _Translucency; @@ -235,7 +253,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" half staticSwitch528 = localUnityHDRPDither175; #endif clip( alpha518 - staticSwitch528); - c.rgb = ( staticSwitch250_g853 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g853 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -349,7 +367,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;10;610;19;518;106;105;331;107;112;113;104;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;5;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -416,7 +434,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;524.1596,1439.007;Inherit;False;518 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.StaticSwitch;528;467.0161,1554.153;Inherit;False;Property;_ClipQuality;Clip Quality;9;0;Create;True;0;0;0;False;0;False;0;1;1;True;;KeywordEnum;2;Standard;Dithered;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ClipNode;645;805.3989,1276.367;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1078.293,1172.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1078.293,1172.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;610;0;19;0 WireConnection;107;0;105;0 @@ -473,4 +491,4 @@ WireConnection;645;2;528;0 WireConnection;644;9;521;0 WireConnection;644;13;645;0 ASEEND*/ -//CHKSM=02B3756C56DC3D40416617491210F50D542FF3E3 \ No newline at end of file +//CHKSM=C720BACAB9D5A473BE6B75985CE59C6444C091E7 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_Clipped_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_Clipped_3D.shader index 3f9e10c..8bad107 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_Clipped_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_Clipped_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" { @@ -77,6 +77,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" #pragma shader_feature_local _CLIPQUALITY_STANDARD _CLIPQUALITY_DITHERED #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -108,39 +121,40 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -165,8 +179,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; @@ -214,19 +229,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g1030 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g1030 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g1030 = lerp( break109_g1030.g , ( 1.0 - break109_g1030.g ) , _FlowMapFlipGreen); half3 appendResult98_g1030 = (half3(break109_g1030.r , lerpResult123_g1030 , break109_g1030.b)); half3 flowTangent107_g1030 = (WorldNormalVector( i , ( ( appendResult98_g1030 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g1030 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g1030 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g1033 = normalize( ( flowTangent107_g1030 + ( worldNormal86_g1030 * lerpResult81_g1030 ) ) ); half3 shiftedTangent119_g1030 = normalizeResult10_g1033; @@ -244,7 +259,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" half dotResult16_g1032 = dot( shiftedTangent119_g1030 , normalizeResult14_g1032 ); half smoothstepResult22_g1032 = smoothstep( -1.0 , 0.0 , dotResult16_g1032); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness594 = lerpResult128; @@ -255,12 +270,12 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" half translucencyWrap283_g1030 = _Translucency; half lambertMask290_g1030 = saturate( ( ( dotResult266_g1030 * ( 1.0 - translucencyWrap283_g1030 ) ) + translucencyWrap283_g1030 ) ); half temp_output_84_0_g1031 = lambertMask290_g1030; - half4 temp_output_13_0_g1031 = ( ( smoothstepResult22_g1032 * pow( saturate( ( 1.0 - ( dotResult16_g1032 * dotResult16_g1032 ) ) ) , specularPower237_g1030 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g1031 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g1031 = ( ( smoothstepResult22_g1032 * pow( saturate( ( 1.0 - ( dotResult16_g1032 * dotResult16_g1032 ) ) ) , specularPower237_g1030 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g1031 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g786 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g786 = root58; half lerpResult50_g786 = lerp( temp_output_55_0_g786 , ( 1.0 - temp_output_55_0_g786 ) , _InvertRootMap); half4 lerpResult44_g786 = lerp( _RootColor , _EndColor , lerpResult50_g786); @@ -285,7 +300,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -332,7 +347,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" half staticSwitch528 = _AlphaClip; #endif clip( alpha518 - staticSwitch528); - c.rgb = ( staticSwitch250_g1030 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g1030 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = alpha518; return c; } @@ -447,7 +462,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D" CustomEditor "Reallusion.Import.CustomHairShaderGUI" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;19;-5671.535,923.5991;Inherit;True;Property;_DiffuseMap;Diffuse Map;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -561,7 +576,7 @@ Node;AmplifyShaderEditor.WireNode;619;843.0594,1511.796;Inherit;False;1;0;FLOAT; Node;AmplifyShaderEditor.RangedFloatNode;140;-1810.923,789.8129;Inherit;False;Property;_NormalStrength;Normal Strength;18;0;Create;True;0;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;282;-1114.089,709.7084;Inherit;False;normal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.ClipNode;608;808.0734,1249.929;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1076.754,1073.793;Half;False;True;-1;2;Reallusion.Import.CustomHairShaderGUI;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Clipped_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1076.754,1073.793;Half;False;True;-1;2;Reallusion.Import.CustomHairShaderGUI;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Clipped_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.GetLocalVarNode;569;-590.8998,-125.8811;Inherit;False;282;normal;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SamplerNode;139;-1484.06,640.5557;Inherit;True;Property;_NormalMap;Normal Map;17;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CustomExpressionNode;175;101.3107,1748.551;Inherit;False;half2 uv = ScreenPosition.xy * _ScreenParams.xy@$half DITHER_THRESHOLDS[16] =${$ 1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0,$ 13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0,$ 4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0,$ 16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0$}@$uint index = (uint(uv.x) % 4) * 4 + uint(uv.y) % 4@$return In - DITHER_THRESHOLDS[index]@;1;Create;2;True;In;FLOAT;0;In;;Inherit;False;True;ScreenPosition;FLOAT2;0,0;In;;Inherit;False;Unity HDRP Dither;True;False;0;;False;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT;0 @@ -669,4 +684,4 @@ WireConnection;687;207;265;0 WireConnection;687;208;263;0 WireConnection;687;310;686;0 ASEEND*/ -//CHKSM=0EE7DA2C77FDD4997851728F93A61AC16AC45D33 \ No newline at end of file +//CHKSM=721E3533857E8D61AEC7FF695793E10FE54F3FCD \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_3D.shader index 227342e..91b915c 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" { @@ -76,6 +76,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -106,39 +119,40 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -163,8 +177,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; @@ -197,19 +212,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g847 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g847 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g847 = lerp( break109_g847.g , ( 1.0 - break109_g847.g ) , _FlowMapFlipGreen); half3 appendResult98_g847 = (half3(break109_g847.r , lerpResult123_g847 , break109_g847.b)); half3 flowTangent107_g847 = (WorldNormalVector( i , ( ( appendResult98_g847 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g847 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g847 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g850 = normalize( ( flowTangent107_g847 + ( worldNormal86_g847 * lerpResult81_g847 ) ) ); half3 shiftedTangent119_g847 = normalizeResult10_g850; @@ -227,7 +242,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" half dotResult16_g849 = dot( shiftedTangent119_g847 , normalizeResult14_g849 ); half smoothstepResult22_g849 = smoothstep( -1.0 , 0.0 , dotResult16_g849); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness594 = lerpResult128; @@ -238,12 +253,12 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" half translucencyWrap283_g847 = _Translucency; half lambertMask290_g847 = saturate( ( ( dotResult266_g847 * ( 1.0 - translucencyWrap283_g847 ) ) + translucencyWrap283_g847 ) ); half temp_output_84_0_g848 = lambertMask290_g847; - half4 temp_output_13_0_g848 = ( ( smoothstepResult22_g849 * pow( saturate( ( 1.0 - ( dotResult16_g849 * dotResult16_g849 ) ) ) , specularPower237_g847 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g848 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g848 = ( ( smoothstepResult22_g849 * pow( saturate( ( 1.0 - ( dotResult16_g849 * dotResult16_g849 ) ) ) , specularPower237_g847 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g848 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g786 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g786 = root58; half lerpResult50_g786 = lerp( temp_output_55_0_g786 , ( 1.0 - temp_output_55_0_g786 ) , _InvertRootMap); half4 lerpResult44_g786 = lerp( _RootColor , _EndColor , lerpResult50_g786); @@ -268,7 +283,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -302,7 +317,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip); - c.rgb = ( staticSwitch250_g847 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g847 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = alpha518; return c; } @@ -414,7 +429,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;19;-5671.535,923.5991;Inherit;True;Property;_DiffuseMap;Diffuse Map;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -529,7 +544,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;162;323.5584,1580.746;Inherit;False;Pro Node;AmplifyShaderEditor.StickyNoteNode;620;-1675.903,-988.307;Inherit;False;552.87;127.4675;Alpha Clip Coverage Hair Shader;Notes;1,1,1,1;Uses MSAA for better single pass alpha blending. Requires MSAA to be enabled.;0;0 Node;AmplifyShaderEditor.ClipNode;621;780.1022,1296.245;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;619;843.0594,1511.796;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1078.876,1072.732;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverage_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1078.876,1072.732;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverage_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;58;0;26;1 WireConnection;517;0;19;0 WireConnection;523;52;519;0 @@ -629,4 +644,4 @@ WireConnection;619;0;521;0 WireConnection;597;9;619;0 WireConnection;597;13;621;0 ASEEND*/ -//CHKSM=619A834877DED0D34FE7430D5D407B6ADC134F95 \ No newline at end of file +//CHKSM=6B4731199F7052411E61DBEA97CDF103AECA9820 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_Baked_3D.shader index e01d993..b481f29 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HairShader_Coverage_Baked_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" { @@ -47,6 +47,13 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" #pragma target 3.0 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -77,24 +84,28 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -106,8 +117,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi ) @@ -130,19 +142,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_645_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g857 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g857 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g857 = lerp( break109_g857.g , ( 1.0 - break109_g857.g ) , _FlowMapFlipGreen); half3 appendResult98_g857 = (half3(break109_g857.r , lerpResult123_g857 , break109_g857.b)); half3 flowTangent107_g857 = (WorldNormalVector( i , ( ( appendResult98_g857 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g857 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g857 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g860 = normalize( ( flowTangent107_g857 + ( worldNormal86_g857 * lerpResult81_g857 ) ) ); half3 shiftedTangent119_g857 = normalizeResult10_g860; @@ -160,11 +172,11 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" half dotResult16_g859 = dot( shiftedTangent119_g857 , normalizeResult14_g859 ); half smoothstepResult22_g859 = smoothstep( -1.0 , 0.0 , dotResult16_g859); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g857 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g857 = ( max( ( ( 2.0 / ( temp_output_233_0_g857 * temp_output_233_0_g857 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask652 = tex2DNode617.a; half dotResult266_g857 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g857 ); half translucencyWrap283_g857 = _Translucency; @@ -202,7 +214,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05); - c.rgb = ( staticSwitch250_g857 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g857 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_645_0; return c; } @@ -314,7 +326,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;14;610;19;518;106;105;331;107;112;113;104;656;380;657;658;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;5;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -378,7 +390,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;645;481.2044,1409.81;Inherit;False;518; Node;AmplifyShaderEditor.RangedFloatNode;646;376.7883,1493.883;Inherit;False;Constant;_ConstAlphaClip;Const Alpha Clip;50;0;Create;True;0;0;0;False;0;False;0.05;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;651;830.4156,1281.184;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;650;1118.693,1230.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;650;1118.693,1230.645;Half;False;True;-1;2;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;0;-1;-1;-1;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;610;0;19;0 WireConnection;107;0;105;0 @@ -431,4 +443,4 @@ WireConnection;651;2;646;0 WireConnection;650;9;645;0 WireConnection;650;13;651;0 ASEEND*/ -//CHKSM=4FB5BBD43617D91512833C306E1B5255FB219CDA \ No newline at end of file +//CHKSM=F7C7697D830E56A5F86F182E653059EED302A298 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_HeadShaderWrinkle_Baked_3D.shader b/3D/Shaders/Amplify/RL_Amplify_HeadShaderWrinkle_Baked_3D.shader index 6902c65..908b461 100644 --- a/3D/Shaders/Amplify/RL_Amplify_HeadShaderWrinkle_Baked_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_HeadShaderWrinkle_Baked_3D.shader @@ -40,6 +40,7 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" _WrinkleDiffuseBlend2("Wrinkle Diffuse Blend 2", 2D) = "white" {} _WrinkleDiffuseBlend3("Wrinkle Diffuse Blend 3", 2D) = "white" {} _WrinkleSmoothnessPack("Wrinkle Smoothness Pack", 2D) = "gray" {} + _WrinkleFlowPack("Wrinkle Flow Pack", 2D) = "white" {} [Normal]_WrinkleNormalBlend1("Wrinkle Normal Blend 1", 2D) = "bump" {} [Normal]_WrinkleNormalBlend2("Wrinkle Normal Blend 2", 2D) = "bump" {} [Normal]_WrinkleNormalBlend3("Wrinkle Normal Blend 3", 2D) = "bump" {} @@ -112,6 +113,8 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" uniform half4 _WrinkleValueSet1AR; uniform half4 _WrinkleValueSet1BR; uniform half4 _WrinkleValueSet12CR; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowPack); + uniform half4 _WrinkleFlowPack_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend2); uniform half4 _WrinkleNormalBlend2_ST; uniform half4 _WrinkleValueSet2L; @@ -212,7 +215,8 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" void surf( Input i , inout SurfaceOutputStandardCustom o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normalMap218 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); + half normalMapScale258 = _BumpScale; + half3 normalMap218 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), normalMapScale258 ); float2 uv_WrinkleNormalBlend1 = i.uv_texcoord * _WrinkleNormalBlend1_ST.xy + _WrinkleNormalBlend1_ST.zw; half temp_output_1_0_g15 = 0.49; half leftMask27_g1 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g15 ) / ( 0.51 - temp_output_1_0_g15 ) ) ); @@ -237,8 +241,12 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" half value1CRight136_g1 = dotResult122_g1; half temp_output_1_0_g14 = 0.51; half rightMask28_g1 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g14 ) / ( 0.49 - temp_output_1_0_g14 ) ) ); - half temp_output_16_0_g16 = ( ( leftMask27_g1 * ( value1CLeft135_g1 + dotResult29_g1 + dotResult35_g1 ) ) + ( ( dotResult30_g1 + dotResult36_g1 + value1CRight136_g1 ) * rightMask28_g1 ) ); - half3 lerpResult19_g16 = lerp( normalMap218 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), (0) ) , temp_output_16_0_g16); + half temp_output_16_0_g63 = ( ( leftMask27_g1 * ( value1CLeft135_g1 + dotResult29_g1 + dotResult35_g1 ) ) + ( ( dotResult30_g1 + dotResult36_g1 + value1CRight136_g1 ) * rightMask28_g1 ) ); + half temp_output_1_0_g64 = 0.0; + float2 uv_WrinkleFlowPack = i.uv_texcoord * _WrinkleFlowPack_ST.xy + _WrinkleFlowPack_ST.zw; + half4 tex2DNode259 = SAMPLE_TEXTURE2D( _WrinkleFlowPack, sampler_Linear_Repeat, uv_WrinkleFlowPack ); + half temp_output_23_0_g63 = ( saturate( ( ( temp_output_16_0_g63 - temp_output_1_0_g64 ) / ( tex2DNode259.r - temp_output_1_0_g64 ) ) ) * temp_output_16_0_g63 ); + half3 lerpResult19_g63 = lerp( normalMap218 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalMapScale258 ) , temp_output_23_0_g63); float2 uv_WrinkleNormalBlend2 = i.uv_texcoord * _WrinkleNormalBlend2_ST.xy + _WrinkleNormalBlend2_ST.zw; half2 appendResult113_g1 = (half2(break107_g1.z , break107_g1.w)); half2 appendResult114_g1 = (half2(break109_g1.z , break109_g1.w)); @@ -251,8 +259,10 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" half2 appendResult116_g1 = (half2(break108_g1.z , break108_g1.w)); half dotResult124_g1 = dot( appendResult114_g1 , appendResult116_g1 ); half value2CRight138_g1 = dotResult124_g1; - half temp_output_16_0_g11 = ( ( leftMask27_g1 * ( value2CLeft137_g1 + dotResult41_g1 ) ) + ( ( dotResult42_g1 + value2CRight138_g1 ) * rightMask28_g1 ) ); - half3 lerpResult19_g11 = lerp( lerpResult19_g16 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), (0) ) , temp_output_16_0_g11); + half temp_output_16_0_g59 = ( ( leftMask27_g1 * ( value2CLeft137_g1 + dotResult41_g1 ) ) + ( ( dotResult42_g1 + value2CRight138_g1 ) * rightMask28_g1 ) ); + half temp_output_1_0_g60 = 0.0; + half temp_output_23_0_g59 = ( saturate( ( ( temp_output_16_0_g59 - temp_output_1_0_g60 ) / ( tex2DNode259.g - temp_output_1_0_g60 ) ) ) * temp_output_16_0_g59 ); + half3 lerpResult19_g59 = lerp( lerpResult19_g63 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalMapScale258 ) , temp_output_23_0_g59); float2 uv_WrinkleNormalBlend3 = i.uv_texcoord * _WrinkleNormalBlend3_ST.xy + _WrinkleNormalBlend3_ST.zw; half4 break118_g1 = _WrinkleValueSet3DB; half2 appendResult120_g1 = (half2(break118_g1.x , break118_g1.y)); @@ -265,9 +275,11 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" half2 appendResult119_g1 = (half2(break118_g1.z , break118_g1.w)); half dotResult128_g1 = dot( appendResult115_g1 , appendResult119_g1 ); half value3DRight130_g1 = dotResult128_g1; - half temp_output_16_0_g12 = ( ( leftMask27_g1 * ( value3DLeft129_g1 + dotResult47_g1 ) ) + ( ( dotResult48_g1 + value3DRight130_g1 ) * rightMask28_g1 ) ); - half3 lerpResult19_g12 = lerp( lerpResult19_g11 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), (0) ) , temp_output_16_0_g12); - half3 normalWrinkle231 = lerpResult19_g12; + half temp_output_16_0_g61 = ( ( leftMask27_g1 * ( value3DLeft129_g1 + dotResult47_g1 ) ) + ( ( dotResult48_g1 + value3DRight130_g1 ) * rightMask28_g1 ) ); + half temp_output_1_0_g62 = 0.0; + half temp_output_23_0_g61 = ( saturate( ( ( temp_output_16_0_g61 - temp_output_1_0_g62 ) / ( tex2DNode259.b - temp_output_1_0_g62 ) ) ) * temp_output_16_0_g61 ); + half3 lerpResult19_g61 = lerp( lerpResult19_g59 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalMapScale258 ) , temp_output_23_0_g61); + half3 normalWrinkle231 = lerpResult19_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half3 staticSwitch220 = normalWrinkle231; #else @@ -279,12 +291,12 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; half4 diffuseMap216 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); float2 uv_WrinkleDiffuseBlend1 = i.uv_texcoord * _WrinkleDiffuseBlend1_ST.xy + _WrinkleDiffuseBlend1_ST.zw; - half4 lerpResult17_g16 = lerp( diffuseMap216 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_16_0_g16); + half4 lerpResult17_g63 = lerp( diffuseMap216 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_23_0_g63); float2 uv_WrinkleDiffuseBlend2 = i.uv_texcoord * _WrinkleDiffuseBlend2_ST.xy + _WrinkleDiffuseBlend2_ST.zw; - half4 lerpResult17_g11 = lerp( lerpResult17_g16 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_16_0_g11); + half4 lerpResult17_g59 = lerp( lerpResult17_g63 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_23_0_g59); float2 uv_WrinkleDiffuseBlend3 = i.uv_texcoord * _WrinkleDiffuseBlend3_ST.xy + _WrinkleDiffuseBlend3_ST.zw; - half4 lerpResult17_g12 = lerp( lerpResult17_g11 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_16_0_g12); - half4 diffuseWrinkle229 = lerpResult17_g12; + half4 lerpResult17_g61 = lerp( lerpResult17_g59 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_23_0_g61); + half4 diffuseWrinkle229 = lerpResult17_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half4 staticSwitch217 = diffuseWrinkle229; #else @@ -300,10 +312,10 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" half smoothnessMap221 = tex2DNode150.a; float2 uv_WrinkleSmoothnessPack = i.uv_texcoord * _WrinkleSmoothnessPack_ST.xy + _WrinkleSmoothnessPack_ST.zw; half4 tex2DNode252 = SAMPLE_TEXTURE2D( _WrinkleSmoothnessPack, sampler_Linear_Repeat, uv_WrinkleSmoothnessPack ); - half lerpResult18_g16 = lerp( smoothnessMap221 , tex2DNode252.r , temp_output_16_0_g16); - half lerpResult18_g11 = lerp( lerpResult18_g16 , tex2DNode252.g , temp_output_16_0_g11); - half lerpResult18_g12 = lerp( lerpResult18_g11 , tex2DNode252.b , temp_output_16_0_g12); - half smoothnessWrinkle230 = lerpResult18_g12; + half lerpResult18_g63 = lerp( smoothnessMap221 , tex2DNode252.r , temp_output_23_0_g63); + half lerpResult18_g59 = lerp( lerpResult18_g63 , tex2DNode252.g , temp_output_23_0_g59); + half lerpResult18_g61 = lerp( lerpResult18_g59 , tex2DNode252.b , temp_output_23_0_g61); + half smoothnessWrinkle230 = lerpResult18_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half staticSwitch223 = smoothnessWrinkle230; #else @@ -327,7 +339,7 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D" /*ASEBEGIN Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1654.055,1265.129;Inherit;False;1013.896;323.3456;Comment;5;172;171;169;170;151;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;176;-2205.917,-618.7704;Inherit;False;1549.638;654.7353;Comment;10;155;146;148;156;153;147;154;218;219;220;;1,1,1,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;176;-2369.917,-618.7704;Inherit;False;1713.638;647.7353;Comment;11;153;219;218;220;146;156;147;154;155;148;258;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-2017.212,-1175.145;Inherit;False;1360.688;491.4623;Comment;7;200;174;173;145;215;216;217;;1,1,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;151;-1598.736,1343.848;Inherit;True;Property;_OcclusionMap;Occlusion Map;7;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.OneMinusNode;170;-1213.159,1462.129;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 @@ -372,14 +384,13 @@ Node;AmplifyShaderEditor.StaticSwitch;217;-1443.549,-872.3288;Inherit;False;Prop Node;AmplifyShaderEditor.RangedFloatNode;154;-2110.44,-297.8357;Inherit;False;Property;_DetailNormalMapScale;Detail Normal Map Scale;18;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;147;-2136.865,-193.1417;Inherit;True;Property;_DetailMask;Detail Mask;16;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;156;-1741.162,-239.0549;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;153;-2088.297,-511.5097;Inherit;False;Property;_BumpScale;Bump Scale;6;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;146;-1765.358,-564.0937;Inherit;True;Property;_BumpMap;Bump Map;5;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;164;-1171.638,1087.455;Inherit;False;Property;_GlossMapScale;Gloss Map Scale;4;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;225;-5196.062,-617.9283;Inherit;False;2700.847;2041.228;;32;226;228;227;244;253;252;251;250;249;248;247;246;245;243;242;241;240;239;238;237;236;235;234;233;232;231;230;229;254;255;256;257;Wrinkle System;1,0.5137255,0.7779443,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;225;-5196.062,-617.9283;Inherit;False;2700.847;2041.228;;33;226;228;227;244;253;252;251;250;249;248;247;246;245;243;242;241;240;239;238;237;236;235;234;233;232;231;230;229;254;255;256;257;259;Wrinkle System;1,0.5137255,0.7779443,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;229;-2780.533,-255.9874;Inherit;False;diffuseWrinkle;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;230;-2800.533,-141.9883;Inherit;False;smoothnessWrinkle;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;231;-2785.533,-31.98799;Inherit;False;normalWrinkle;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.FunctionNode;253;-3270.997,-186.733;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;1;66048c3ae18f3f84c9195a84e20ae59a;0;28;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 +Node;AmplifyShaderEditor.FunctionNode;253;-3270.997,-186.733;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;1;66048c3ae18f3f84c9195a84e20ae59a;0;31;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;151;FLOAT;0;False;155;FLOAT;0;False;156;FLOAT;0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 Node;AmplifyShaderEditor.WireNode;224;-1461.594,834.7779;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;150;-1813.843,830.624;Inherit;True;Property;_MetallicGlossMap;Metallic Gloss Map;2;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.StaticSwitch;220;-1214.007,-528.2222;Inherit;False;Property;BOOLEAN_USE_WRINKLE1;Use Wrinkle;26;0;Create;False;0;0;0;False;0;False;0;0;0;True;BOOLEAN_USE_WRINKLE_ON;Toggle;2;Key0;Key1;Reference;217;True;False;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 @@ -393,31 +404,34 @@ Node;AmplifyShaderEditor.StaticSwitch;223;-1200.437,934.4524;Inherit;False;Prope Node;AmplifyShaderEditor.GetLocalVarNode;227;-3602.622,-357.2242;Inherit;False;218;normalMap;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;228;-3634.622,-446.2238;Inherit;False;221;smoothnessMap;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;226;-3606.917,-530.5425;Inherit;False;216;diffuseMap;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.Vector4Node;233;-4922.803,1135.375;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;41;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;234;-4686.808,1201.374;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;42;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;235;-4438.664,1134.231;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;46;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;236;-4183.667,1187.23;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;47;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;233;-4922.803,1135.375;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;42;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;234;-4686.808,1201.374;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;43;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;235;-4438.664,1134.231;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;47;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;236;-4183.667,1187.23;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;48;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;245;-4799.682,-110.2309;Inherit;True;Property;_WrinkleDiffuseBlend1;Wrinkle Diffuse Blend 1;32;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;247;-4179.939,104.9185;Inherit;True;Property;_WrinkleDiffuseBlend3;Wrinkle Diffuse Blend 3;34;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;246;-4497.217,-24.40163;Inherit;True;Property;_WrinkleDiffuseBlend2;Wrinkle Diffuse Blend 2;33;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;252;-4181.95,302.8336;Inherit;True;Property;_WrinkleSmoothnessPack;Wrinkle Smoothness Pack;35;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;248;-4806.242,315.3972;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;36;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;249;-4498.453,422.0821;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;37;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;250;-4185.133,519.4941;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;38;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;232;-4976.76,658.8648;Inherit;False;-1;;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.SamplerNode;248;-4806.242,315.3972;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;37;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;249;-4498.453,422.0821;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;38;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;250;-4185.133,519.4941;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;39;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerStateNode;251;-5115.076,86.76053;Inherit;False;0;0;0;1;2;None;1;0;SAMPLER2D;;False;1;SAMPLERSTATE;0 -Node;AmplifyShaderEditor.Vector4Node;257;-3665.482,989.2074;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;49;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;257;-3665.482,989.2074;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;50;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;243;-4200.036,-335.8185;Inherit;True;Property;_WrinkleMaskSet2;Wrinkle Mask Set 2;29;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;256;-3923.108,949.3359;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;43;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;255;-3923.137,1136.423;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;48;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;240;-4182.965,994.5209;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;45;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;239;-4438.962,951.5211;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;44;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;238;-4688.105,1011.665;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;40;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;237;-4923.1,952.6652;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;39;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;256;-3923.108,949.3359;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;44;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;255;-3923.137,1136.423;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;49;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;240;-4182.965,994.5209;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;46;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;239;-4438.962,951.5211;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;45;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;238;-4688.105,1011.665;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;41;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;237;-4923.1,952.6652;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;40;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;242;-4804.652,-332.5127;Inherit;True;Property;_WrinkleMaskSet3;Wrinkle Mask Set 3;30;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;254;-4497.854,-236.4908;Inherit;True;Property;_WrinkleMaskSet123;Wrinkle Mask Set 123;31;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;241;-4793.884,-542.6848;Inherit;True;Property;_WrinkleMaskSet1A;Wrinkle Mask Set 1A;27;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;244;-4500.472,-439.6077;Inherit;True;Property;_WrinkleMaskSet1B;Wrinkle Mask Set 1B;28;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.RangedFloatNode;153;-2310.036,-523.5085;Inherit;False;Property;_BumpScale;Bump Scale;6;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 +Node;AmplifyShaderEditor.RegisterLocalVarNode;258;-2038.535,-397.7079;Inherit;False;normalMapScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 +Node;AmplifyShaderEditor.GetLocalVarNode;232;-5055.76,643.8648;Inherit;False;258;normalMapScale;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.SamplerNode;252;-4499.95,189.8336;Inherit;True;Property;_WrinkleSmoothnessPack;Wrinkle Smoothness Pack;35;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;259;-4181.297,309.0432;Inherit;True;Property;_WrinkleFlowPack;Wrinkle Flow Pack;36;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 WireConnection;170;0;151;2 WireConnection;171;0;169;0 WireConnection;171;1;170;0 @@ -463,7 +477,7 @@ WireConnection;217;1;216;0 WireConnection;217;0;215;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 -WireConnection;146;5;153;0 +WireConnection;146;5;258;0 WireConnection;229;0;253;0 WireConnection;230;0;253;1 WireConnection;231;0;253;6 @@ -484,6 +498,9 @@ WireConnection;253;77;252;3 WireConnection;253;69;248;0 WireConnection;253;73;249;0 WireConnection;253;78;250;0 +WireConnection;253;151;259;1 +WireConnection;253;155;259;2 +WireConnection;253;156;259;3 WireConnection;253;19;237;0 WireConnection;253;20;238;0 WireConnection;253;23;233;0 @@ -506,7 +523,6 @@ WireConnection;223;0;222;0 WireConnection;245;7;251;0 WireConnection;247;7;251;0 WireConnection;246;7;251;0 -WireConnection;252;7;251;0 WireConnection;248;5;232;0 WireConnection;248;7;251;0 WireConnection;249;5;232;0 @@ -518,5 +534,8 @@ WireConnection;242;7;251;0 WireConnection;254;7;251;0 WireConnection;241;7;251;0 WireConnection;244;7;251;0 +WireConnection;258;0;153;0 +WireConnection;252;7;251;0 +WireConnection;259;7;251;0 ASEEND*/ -//CHKSM=E5A47375562709762FDF259E908EC31DC7B58B27 \ No newline at end of file +//CHKSM=9EF192E19CF351282A509AD123BCA27B6725DB05 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_3D.shader index 838f0ec..30167dd 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit 3D" { @@ -29,51 +29,65 @@ Shader "Reallusion/Amplify/Amplify Lit 3D" CGPROGRAM #include "UnityStandardUtils.cginc" #pragma target 3.0 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; void surf( Input i , inout SurfaceOutputStandard o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; } @@ -82,7 +96,7 @@ Shader "Reallusion/Amplify/Amplify Lit 3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -118,7 +132,7 @@ Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;203;-141.0717,108.4694;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;208;-142.2709,592.3815;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -151,4 +165,4 @@ WireConnection;202;3;206;0 WireConnection;202;4;207;0 WireConnection;202;5;208;0 ASEEND*/ -//CHKSM=AEF5043588AE273E51868B9CB02DE95A780D012A \ No newline at end of file +//CHKSM=25AFAA3D5412E86B701AE2D295039673A4371B59 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_3D.shader index 0d3c1d2..1631515 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D" { @@ -36,57 +36,71 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D" #pragma target 3.0 #pragma shader_feature _SPECULARHIGHLIGHTS_OFF #pragma shader_feature _GLOSSYREFLECTIONS_OFF + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; void surf( Input i , inout SurfaceOutputStandard o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = ( _Color.a * tex2DNode145.a ); } ENDCG CGPROGRAM - #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows exclude_path:deferred + #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows ENDCG Pass @@ -170,7 +184,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;5;200;174;145;173;210;;1,1,1,1;0;0 @@ -210,7 +224,7 @@ Node;AmplifyShaderEditor.WireNode;204;-143.0898,217.2567;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;208;-142.2709,592.3815;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -249,4 +263,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;9;215;0 ASEEND*/ -//CHKSM=A6A8E23C41F11584BB9470D17082ABD1FD1A78CC \ No newline at end of file +//CHKSM=14F2E95E13AC4454621620500082A6F96B9F8F8E \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_DblSided_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_DblSided_3D.shader index 0769146..66e060e 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_DblSided_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaBlend_DblSided_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D" { @@ -36,57 +36,71 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D" #pragma target 3.0 #pragma shader_feature _SPECULARHIGHLIGHTS_OFF #pragma shader_feature _GLOSSYREFLECTIONS_OFF + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; void surf( Input i , inout SurfaceOutputStandard o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = ( _Color.a * tex2DNode145.a ); } ENDCG CGPROGRAM - #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows exclude_path:deferred + #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows ENDCG Pass @@ -170,7 +184,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;5;200;174;145;173;210;;1,1,1,1;0;0 @@ -210,7 +224,7 @@ Node;AmplifyShaderEditor.WireNode;204;-143.0898,217.2567;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;208;-142.2709,592.3815;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -249,4 +263,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;9;215;0 ASEEND*/ -//CHKSM=3B3CD150FB59850851119F73C48D2E3626E3D0D2 \ No newline at end of file +//CHKSM=28ACE94972111447FA5736E5641962B240C65F4F \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaClipped_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaClipped_3D.shader index ef094d8..b36d7d5 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaClipped_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_AlphaClipped_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D" { @@ -30,53 +30,67 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D" CGPROGRAM #include "UnityStandardUtils.cginc" #pragma target 3.0 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows struct Input { float2 uv_texcoord; }; uniform half _AlphaClip; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; void surf( Input i , inout SurfaceOutputStandard o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; clip( ( _Color.a * tex2DNode145.a ) - _AlphaClip ); } @@ -86,7 +100,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;6;200;174;145;173;210;212;;1,1,1,1;0;0 @@ -127,7 +141,7 @@ Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;214;-30.16199,744.158;Inherit;False;Property;_AlphaClip;Alpha Clip;14;0;Create;True;0;0;0;True;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaClipped 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Masked;0.5;True;True;0;False;TransparentCutout;;AlphaTest;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaClipped 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Masked;0.5;True;True;0;False;TransparentCutout;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;210;0;173;4 WireConnection;210;1;145;4 WireConnection;156;0;154;0 @@ -166,4 +180,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;10;211;0 ASEEND*/ -//CHKSM=56036D4191568629652845CD83E10D5E30E8974D \ No newline at end of file +//CHKSM=EFA22512F7D7D4499BB4838CDE68186BF8FE0FCD \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_DblSided_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_DblSided_3D.shader index 47fa964..bb75dbe 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_DblSided_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_DblSided_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit DblSided 3D" { @@ -29,51 +29,65 @@ Shader "Reallusion/Amplify/Amplify Lit DblSided 3D" CGPROGRAM #include "UnityStandardUtils.cginc" #pragma target 3.0 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; void surf( Input i , inout SurfaceOutputStandard o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; } @@ -82,7 +96,7 @@ Shader "Reallusion/Amplify/Amplify Lit DblSided 3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -118,7 +132,7 @@ Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;204;-143.0898,217.2567;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit DblSided 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/Amplify Lit DblSided 3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 WireConnection;170;0;151;2 @@ -151,4 +165,4 @@ WireConnection;202;3;206;0 WireConnection;202;4;207;0 WireConnection;202;5;208;0 ASEEND*/ -//CHKSM=7ED2037A441D2F86D723AD30287B4D45F9298DC5 \ No newline at end of file +//CHKSM=26D14D4C9D299700D2A058D7970B93B0D5FF13C2 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_Lit_SSS_3D.shader b/3D/Shaders/Amplify/RL_Amplify_Lit_SSS_3D.shader index 0aca68c..7deff80 100644 --- a/3D/Shaders/Amplify/RL_Amplify_Lit_SSS_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_Lit_SSS_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/LitSSS" { @@ -42,6 +42,13 @@ Shader "Reallusion/Amplify/LitSSS" #include "UnityStandardUtils.cginc" #include "UnityPBSLighting.cginc" #pragma target 3.0 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustom keepalpha addshadow fullforwardshadows exclude_path:deferred struct Input { @@ -61,30 +68,38 @@ Shader "Reallusion/Amplify/LitSSS" half3 Translucency; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _Thickness; - uniform sampler2D _ThicknessMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ThicknessMap); uniform half4 _ThicknessMap_ST; + SamplerState sampler_ThicknessMap; uniform half4 _SubsurfaceFalloff; uniform half _Translucency; uniform half _TransNormalDistortion; @@ -93,8 +108,9 @@ Shader "Reallusion/Amplify/LitSSS" uniform half _TransAmbient; uniform half _TransShadow; uniform half _SubsurfaceMask; - uniform sampler2D _SubsurfaceMaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SubsurfaceMaskMap); uniform half4 _SubsurfaceMaskMap_ST; + SamplerState sampler_SubsurfaceMaskMap; inline half4 LightingStandardCustom(SurfaceOutputStandardCustom s, half3 viewDir, UnityGI gi ) { @@ -137,23 +153,23 @@ Shader "Reallusion/Amplify/LitSSS" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); float2 uv_ThicknessMap = i.uv_texcoord * _ThicknessMap_ST.xy + _ThicknessMap_ST.zw; half4 temp_output_214_0 = ( _SubsurfaceFalloff * baseColor200 ); - o.Transmission = ( _Thickness * tex2D( _ThicknessMap, uv_ThicknessMap ) * temp_output_214_0 ).rgb; + o.Transmission = ( _Thickness * SAMPLE_TEXTURE2D( _ThicknessMap, sampler_ThicknessMap, uv_ThicknessMap ) * temp_output_214_0 ).rgb; float2 uv_SubsurfaceMaskMap = i.uv_texcoord * _SubsurfaceMaskMap_ST.xy + _SubsurfaceMaskMap_ST.zw; - o.Translucency = ( _SubsurfaceMask * 0.5 * tex2D( _SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) * temp_output_214_0 ).rgb; + o.Translucency = ( _SubsurfaceMask * 0.5 * SAMPLE_TEXTURE2D( _SubsurfaceMaskMap, sampler_SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) * temp_output_214_0 ).rgb; o.Alpha = 1; } @@ -162,7 +178,7 @@ Shader "Reallusion/Amplify/LitSSS" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -211,7 +227,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;194;-1187.487,2115.57;Inherit;False;Con Node;AmplifyShaderEditor.SamplerNode;189;-1205.472,2203.485;Inherit;True;Property;_SubsurfaceMaskMap;Subsurface Mask Map;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;195;-1176.749,1725.444;Inherit;False;Property;_Thickness;Transmission;14;0;Create;False;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;190;-1196.935,1821.459;Inherit;True;Property;_ThicknessMap;Tramsission Map;13;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/LitSSS;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;19;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/LitSSS;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;19;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -257,4 +273,4 @@ WireConnection;202;5;208;0 WireConnection;202;6;209;0 WireConnection;202;7;210;0 ASEEND*/ -//CHKSM=AD30C6B4D8B86A5E58E96DF6A50FBBB4C0994D3B \ No newline at end of file +//CHKSM=7FCA5655AADBEAF165DF5944E6A63A1F240B65BD \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_SkinShader_Variants_3D.shader b/3D/Shaders/Amplify/RL_Amplify_SkinShader_Variants_3D.shader index 241e829..e6a90c8 100644 --- a/3D/Shaders/Amplify/RL_Amplify_SkinShader_Variants_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_SkinShader_Variants_3D.shader @@ -81,6 +81,9 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" [Normal]_WrinkleNormalBlend1("Wrinkle Normal Blend 1", 2D) = "bump" {} [Normal]_WrinkleNormalBlend2("Wrinkle Normal Blend 2", 2D) = "bump" {} [Normal]_WrinkleNormalBlend3("Wrinkle Normal Blend 3", 2D) = "bump" {} + _WrinkleFlowMap1("Wrinkle Flow Map 1", 2D) = "white" {} + _WrinkleFlowMap2("Wrinkle Flow Map 2", 2D) = "white" {} + _WrinkleFlowMap3("Wrinkle Flow Map 3", 2D) = "white" {} _WrinkleValueSet1AL("Wrinkle Value Set 1A Left", Vector) = (0,0,0,0) _WrinkleValueSet1BL("Wrinkle Value Set 1B Left", Vector) = (0,0,0,0) _WrinkleValueSet2L("Wrinkle Value Set 2 Left", Vector) = (0,0,0,0) @@ -158,12 +161,16 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" uniform half4 _WrinkleValueSet1AR; uniform half4 _WrinkleValueSet1BR; uniform half4 _WrinkleValueSet12CR; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap1); + uniform half4 _WrinkleFlowMap1_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend2); uniform half4 _WrinkleNormalBlend2_ST; uniform half4 _WrinkleValueSet2L; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleMaskSet2); uniform half4 _WrinkleMaskSet2_ST; uniform half4 _WrinkleValueSet2R; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap2); + uniform half4 _WrinkleFlowMap2_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend3); uniform half4 _WrinkleNormalBlend3_ST; uniform half4 _WrinkleValueSet3DB; @@ -171,6 +178,8 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleMaskSet3); uniform half4 _WrinkleMaskSet3_ST; uniform half4 _WrinkleValueSet3R; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap3); + uniform half4 _WrinkleFlowMap3_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalBlendMap); uniform half4 _NormalBlendMap_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_SSSMap); @@ -315,11 +324,11 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" void surf( Input i , inout SurfaceOutputStandardCustom o ) { float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half normalScale359 = _NormalStrength; - half3 normalMap360 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), normalScale359 ); + half normalMapScale359 = _NormalStrength; + half3 normalMap360 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), normalMapScale359 ); float2 uv_WrinkleNormalBlend1 = i.uv_texcoord * _WrinkleNormalBlend1_ST.xy + _WrinkleNormalBlend1_ST.zw; - half temp_output_1_0_g44 = 0.49; - half leftMask27_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g44 ) / ( 0.51 - temp_output_1_0_g44 ) ) ); + half temp_output_1_0_g42 = 0.49; + half leftMask27_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g42 ) / ( 0.51 - temp_output_1_0_g42 ) ) ); half4 break107_g40 = _WrinkleValueSet12CL; half2 appendResult112_g40 = (half2(break107_g40.x , break107_g40.y)); float2 uv_WrinkleMaskSet123 = i.uv_texcoord * _WrinkleMaskSet123_ST.xy + _WrinkleMaskSet123_ST.zw; @@ -339,10 +348,13 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" half2 appendResult117_g40 = (half2(break108_g40.x , break108_g40.y)); half dotResult122_g40 = dot( appendResult115_g40 , appendResult117_g40 ); half value1CRight136_g40 = dotResult122_g40; - half temp_output_1_0_g43 = 0.51; - half rightMask28_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g43 ) / ( 0.49 - temp_output_1_0_g43 ) ) ); - half temp_output_16_0_g45 = ( ( leftMask27_g40 * ( value1CLeft135_g40 + dotResult29_g40 + dotResult35_g40 ) ) + ( ( dotResult30_g40 + dotResult36_g40 + value1CRight136_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g45 = lerp( normalMap360 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalScale359 ) , temp_output_16_0_g45); + half temp_output_1_0_g41 = 0.51; + half rightMask28_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g41 ) / ( 0.49 - temp_output_1_0_g41 ) ) ); + half temp_output_16_0_g63 = ( ( leftMask27_g40 * ( value1CLeft135_g40 + dotResult29_g40 + dotResult35_g40 ) ) + ( ( dotResult30_g40 + dotResult36_g40 + value1CRight136_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g64 = 0.0; + float2 uv_WrinkleFlowMap1 = i.uv_texcoord * _WrinkleFlowMap1_ST.xy + _WrinkleFlowMap1_ST.zw; + half temp_output_23_0_g63 = ( saturate( ( ( temp_output_16_0_g63 - temp_output_1_0_g64 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap1, sampler_Linear_Repeat, uv_WrinkleFlowMap1 ).g - temp_output_1_0_g64 ) ) ) * temp_output_16_0_g63 ); + half3 lerpResult19_g63 = lerp( normalMap360 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalMapScale359 ) , temp_output_23_0_g63); float2 uv_WrinkleNormalBlend2 = i.uv_texcoord * _WrinkleNormalBlend2_ST.xy + _WrinkleNormalBlend2_ST.zw; half2 appendResult113_g40 = (half2(break107_g40.z , break107_g40.w)); half2 appendResult114_g40 = (half2(break109_g40.z , break109_g40.w)); @@ -355,8 +367,11 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" half2 appendResult116_g40 = (half2(break108_g40.z , break108_g40.w)); half dotResult124_g40 = dot( appendResult114_g40 , appendResult116_g40 ); half value2CRight138_g40 = dotResult124_g40; - half temp_output_16_0_g41 = ( ( leftMask27_g40 * ( value2CLeft137_g40 + dotResult41_g40 ) ) + ( ( dotResult42_g40 + value2CRight138_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g41 = lerp( lerpResult19_g45 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalScale359 ) , temp_output_16_0_g41); + half temp_output_16_0_g59 = ( ( leftMask27_g40 * ( value2CLeft137_g40 + dotResult41_g40 ) ) + ( ( dotResult42_g40 + value2CRight138_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g60 = 0.0; + float2 uv_WrinkleFlowMap2 = i.uv_texcoord * _WrinkleFlowMap2_ST.xy + _WrinkleFlowMap2_ST.zw; + half temp_output_23_0_g59 = ( saturate( ( ( temp_output_16_0_g59 - temp_output_1_0_g60 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap2, sampler_Linear_Repeat, uv_WrinkleFlowMap2 ).g - temp_output_1_0_g60 ) ) ) * temp_output_16_0_g59 ); + half3 lerpResult19_g59 = lerp( lerpResult19_g63 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalMapScale359 ) , temp_output_23_0_g59); float2 uv_WrinkleNormalBlend3 = i.uv_texcoord * _WrinkleNormalBlend3_ST.xy + _WrinkleNormalBlend3_ST.zw; half4 break118_g40 = _WrinkleValueSet3DB; half2 appendResult120_g40 = (half2(break118_g40.x , break118_g40.y)); @@ -369,9 +384,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" half2 appendResult119_g40 = (half2(break118_g40.z , break118_g40.w)); half dotResult128_g40 = dot( appendResult115_g40 , appendResult119_g40 ); half value3DRight130_g40 = dotResult128_g40; - half temp_output_16_0_g42 = ( ( leftMask27_g40 * ( value3DLeft129_g40 + dotResult47_g40 ) ) + ( ( dotResult48_g40 + value3DRight130_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g42 = lerp( lerpResult19_g41 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalScale359 ) , temp_output_16_0_g42); - half3 normalWrinkle439 = lerpResult19_g42; + half temp_output_16_0_g61 = ( ( leftMask27_g40 * ( value3DLeft129_g40 + dotResult47_g40 ) ) + ( ( dotResult48_g40 + value3DRight130_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g62 = 0.0; + float2 uv_WrinkleFlowMap3 = i.uv_texcoord * _WrinkleFlowMap3_ST.xy + _WrinkleFlowMap3_ST.zw; + half temp_output_23_0_g61 = ( saturate( ( ( temp_output_16_0_g61 - temp_output_1_0_g62 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap3, sampler_Linear_Repeat, uv_WrinkleFlowMap3 ).g - temp_output_1_0_g62 ) ) ) * temp_output_16_0_g61 ); + half3 lerpResult19_g61 = lerp( lerpResult19_g59 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalMapScale359 ) , temp_output_23_0_g61); + half3 normalWrinkle439 = lerpResult19_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half3 staticSwitch467 = normalWrinkle439; #else @@ -435,12 +453,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; half4 diffuseMap358 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); float2 uv_WrinkleDiffuseBlend1 = i.uv_texcoord * _WrinkleDiffuseBlend1_ST.xy + _WrinkleDiffuseBlend1_ST.zw; - half4 lerpResult17_g45 = lerp( diffuseMap358 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_16_0_g45); + half4 lerpResult17_g63 = lerp( diffuseMap358 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_23_0_g63); float2 uv_WrinkleDiffuseBlend2 = i.uv_texcoord * _WrinkleDiffuseBlend2_ST.xy + _WrinkleDiffuseBlend2_ST.zw; - half4 lerpResult17_g41 = lerp( lerpResult17_g45 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_16_0_g41); + half4 lerpResult17_g59 = lerp( lerpResult17_g63 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_23_0_g59); float2 uv_WrinkleDiffuseBlend3 = i.uv_texcoord * _WrinkleDiffuseBlend3_ST.xy + _WrinkleDiffuseBlend3_ST.zw; - half4 lerpResult17_g42 = lerp( lerpResult17_g41 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_16_0_g42); - half4 diffuseWrinkle437 = lerpResult17_g42; + half4 lerpResult17_g61 = lerp( lerpResult17_g59 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_23_0_g61); + half4 diffuseWrinkle437 = lerpResult17_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half4 staticSwitch464 = diffuseWrinkle437; #else @@ -470,12 +488,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D" o.Metallic = metallicMap285; half smoothnessMap288 = tex2DNode32.a; float2 uv_WrinkleRoughnessBlend1 = i.uv_texcoord * _WrinkleRoughnessBlend1_ST.xy + _WrinkleRoughnessBlend1_ST.zw; - half lerpResult18_g45 = lerp( smoothnessMap288 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend1, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend1 ).g ) , temp_output_16_0_g45); + half lerpResult18_g63 = lerp( smoothnessMap288 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend1, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend1 ).g ) , temp_output_23_0_g63); float2 uv_WrinkleRoughnessBlend2 = i.uv_texcoord * _WrinkleRoughnessBlend2_ST.xy + _WrinkleRoughnessBlend2_ST.zw; - half lerpResult18_g41 = lerp( lerpResult18_g45 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend2, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend2 ).g ) , temp_output_16_0_g41); + half lerpResult18_g59 = lerp( lerpResult18_g63 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend2, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend2 ).g ) , temp_output_23_0_g59); float2 uv_WrinkleRoughnessBlend3 = i.uv_texcoord * _WrinkleRoughnessBlend3_ST.xy + _WrinkleRoughnessBlend3_ST.zw; - half lerpResult18_g42 = lerp( lerpResult18_g41 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend3, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend3 ).g ) , temp_output_16_0_g42); - half smoothnessWrinkle438 = lerpResult18_g42; + half lerpResult18_g61 = lerp( lerpResult18_g59 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend3, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend3 ).g ) , temp_output_23_0_g61); + half smoothnessWrinkle438 = lerpResult18_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half staticSwitch468 = smoothnessWrinkle438; #else @@ -674,16 +692,14 @@ Node;AmplifyShaderEditor.SamplerNode;52;-1395.85,15.95127;Inherit;True;Property; Node;AmplifyShaderEditor.GetLocalVarNode;343;-2228.05,-361.8155;Inherit;False;340;subsurfaceFlattenNormals;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;59;-2225.185,-49.41412;Inherit;False;Property;_NormalBlendStrength;Normal Blend Strength (Head);43;0;Create;False;0;0;0;False;0;False;0;0.5;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;341;-1926.138,-218.3322;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;359;-1943.112,-583.7412;Inherit;False;normalScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;60;-2232.41,-634.1191;Inherit;False;Property;_NormalStrength;Normal Strength;8;0;Create;True;0;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;360;-1080.1,-667.2007;Inherit;False;normalMap;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.CommentaryNode;430;-5192.445,-3069.558;Inherit;False;2652.901;2027.358;;37;431;437;463;462;461;460;459;458;457;456;455;454;453;452;451;450;449;448;447;446;445;444;443;442;441;440;439;438;436;435;434;433;432;470;471;472;473;Wrinkle System;1,0.5137255,0.7779443,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;430;-5192.445,-3069.558;Inherit;False;2652.901;2027.358;;40;431;437;463;462;461;460;459;458;457;456;455;454;453;452;451;450;449;448;447;446;445;444;443;442;441;440;439;438;436;435;434;433;432;470;471;472;473;475;476;477;Wrinkle System;1,0.5137255,0.7779443,1;0;0 Node;AmplifyShaderEditor.GetLocalVarNode;434;-3638.247,-2980.172;Inherit;False;358;diffuseMap;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;435;-3668.951,-2895.854;Inherit;False;288;smoothnessMap;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;436;-3641.951,-2812.854;Inherit;False;360;normalMap;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;438;-2844.862,-2593.617;Inherit;False;smoothnessWrinkle;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;439;-2829.862,-2483.617;Inherit;False;normalWrinkle;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.FunctionNode;463;-3315.326,-2638.362;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;40;66048c3ae18f3f84c9195a84e20ae59a;0;28;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 +Node;AmplifyShaderEditor.FunctionNode;463;-3315.326,-2638.362;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;40;66048c3ae18f3f84c9195a84e20ae59a;0;31;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;151;FLOAT;0;False;155;FLOAT;0;False;156;FLOAT;0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 Node;AmplifyShaderEditor.RegisterLocalVarNode;358;-1558.199,-1416.748;Inherit;False;diffuseMap;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;465;-1560.86,-1325.258;Inherit;False;437;diffuseWrinkle;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;357;-1042.627,-1514.344;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 @@ -708,29 +724,34 @@ Node;AmplifyShaderEditor.OneMinusNode;432;-3695.665,-2317.393;Inherit;False;1;0; Node;AmplifyShaderEditor.OneMinusNode;433;-3697.809,-2252.344;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;449;-3693.378,-2382.152;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;456;-4160.655,-2381.758;Inherit;True;Property;_WrinkleDiffuseBlend3;Wrinkle Diffuse Blend 3;70;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;457;-4766.854,-2366.644;Inherit;True;Property;_WrinkleRoughnessBlend1;Wrinkle Roughness Blend 1;71;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;458;-4461.972,-2275.64;Inherit;True;Property;_WrinkleRoughnessBlend2;Wrinkle Roughness Blend 2;72;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;459;-4162.216,-2174.115;Inherit;True;Property;_WrinkleRoughnessBlend3;Wrinkle Roughness Blend 3;73;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;460;-4768.059,-2158.782;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;74;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;461;-4464.56,-2064.297;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;75;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;462;-4164.351,-1964.485;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;76;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;440;-5013.275,-1812.114;Inherit;False;359;normalScale;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.Vector4Node;443;-4402.755,-1407.935;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;84;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;444;-4147.766,-1354.935;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;85;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;448;-4147.063,-1547.646;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;83;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;472;-3883.424,-1394.853;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;86;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;471;-3887.424,-1584.853;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;81;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;473;-3621.424,-1540.853;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;87;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;445;-4887.204,-1589.502;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;77;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;446;-4652.204,-1530.502;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;78;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;441;-4886.904,-1406.791;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;79;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;442;-4650.904,-1340.791;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;80;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;447;-4403.055,-1590.646;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;82;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;443;-4402.755,-1407.935;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;87;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;444;-4147.766,-1354.935;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;88;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;448;-4147.063,-1547.646;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;86;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;472;-3883.424,-1394.853;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;89;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;471;-3887.424,-1584.853;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;84;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;473;-3621.424,-1540.853;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;90;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;445;-4887.204,-1589.502;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;80;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;446;-4652.204,-1530.502;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;81;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;441;-4886.904,-1406.791;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;82;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;442;-4650.904,-1340.791;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;83;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;447;-4403.055,-1590.646;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;85;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;450;-4760.796,-3000.462;Inherit;True;Property;_WrinkleMaskSet1A;Wrinkle Mask Set 1A;63;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;453;-4467.378,-2897.385;Inherit;True;Property;_WrinkleMaskSet1B;Wrinkle Mask Set 1B;64;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;452;-4155.617,-2789.232;Inherit;True;Property;_WrinkleMaskSet2;Wrinkle Mask Set 2;65;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;451;-4775.664,-2782.49;Inherit;True;Property;_WrinkleMaskSet3;Wrinkle Mask Set 3;66;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;470;-4471.832,-2702.583;Inherit;True;Property;_WrinkleMaskSet123;Wrinkle Mask Set 123;67;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.RangedFloatNode;60;-2239.608,-638.2326;Inherit;False;Property;_NormalStrength;Normal Strength;8;0;Create;True;0;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0 +Node;AmplifyShaderEditor.GetLocalVarNode;440;-5013.275,-1812.114;Inherit;False;359;normalMapScale;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.RegisterLocalVarNode;359;-1943.112,-583.7412;Inherit;False;normalMapScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 +Node;AmplifyShaderEditor.SamplerNode;457;-4766.854,-2366.644;Inherit;True;Property;_WrinkleRoughnessBlend1;Wrinkle Roughness Blend 1;71;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;458;-4461.972,-2275.64;Inherit;True;Property;_WrinkleRoughnessBlend2;Wrinkle Roughness Blend 2;72;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;459;-4162.216,-2174.115;Inherit;True;Property;_WrinkleRoughnessBlend3;Wrinkle Roughness Blend 3;73;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;475;-4769.018,-1949.232;Inherit;True;Property;_WrinkleFlowMap1;Wrinkle Flow Map 1;77;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;476;-4464.136,-1858.228;Inherit;True;Property;_WrinkleFlowMap2;Wrinkle Flow Map 2;78;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;477;-4163.38,-1756.703;Inherit;True;Property;_WrinkleFlowMap3;Wrinkle Flow Map 3;79;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 WireConnection;150;0;126;0 WireConnection;150;1;127;0 WireConnection;150;2;128;0 @@ -893,7 +914,6 @@ WireConnection;52;1;344;0 WireConnection;52;5;57;0 WireConnection;341;0;343;0 WireConnection;341;1;59;0 -WireConnection;359;0;60;0 WireConnection;360;0;48;0 WireConnection;438;0;463;1 WireConnection;439;0;463;6 @@ -914,6 +934,9 @@ WireConnection;463;77;433;0 WireConnection;463;69;460;0 WireConnection;463;73;461;0 WireConnection;463;78;462;0 +WireConnection;463;151;475;2 +WireConnection;463;155;476;2 +WireConnection;463;156;477;2 WireConnection;463;19;445;0 WireConnection;463;20;446;0 WireConnection;463;23;441;0 @@ -953,9 +976,6 @@ WireConnection;432;0;458;2 WireConnection;433;0;459;2 WireConnection;449;0;457;2 WireConnection;456;7;431;0 -WireConnection;457;7;431;0 -WireConnection;458;7;431;0 -WireConnection;459;7;431;0 WireConnection;460;5;440;0 WireConnection;460;7;431;0 WireConnection;461;5;440;0 @@ -967,5 +987,12 @@ WireConnection;453;7;431;0 WireConnection;452;7;431;0 WireConnection;451;7;431;0 WireConnection;470;7;431;0 +WireConnection;359;0;60;0 +WireConnection;457;7;431;0 +WireConnection;458;7;431;0 +WireConnection;459;7;431;0 +WireConnection;475;7;431;0 +WireConnection;476;7;431;0 +WireConnection;477;7;431;0 ASEEND*/ -//CHKSM=1BCE854F9E2E499CF316E2F6ADE7A5306C8BFDCD \ No newline at end of file +//CHKSM=A07DD093C4A1C596D8A14169C24AFA5372CEB82E \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_TongueShader_3D.shader b/3D/Shaders/Amplify/RL_Amplify_TongueShader_3D.shader index 3ff4635..8086ad5 100644 --- a/3D/Shaders/Amplify/RL_Amplify_TongueShader_3D.shader +++ b/3D/Shaders/Amplify/RL_Amplify_TongueShader_3D.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_TongueShader_3D" { @@ -45,6 +45,13 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D" #include "UnityStandardUtils.cginc" #include "UnityPBSLighting.cginc" #pragma target 3.0 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustom keepalpha addshadow fullforwardshadows exclude_path:deferred struct Input { @@ -64,25 +71,31 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D" half3 Translucency; }; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; + SamplerState sampler_NormalMap; uniform half _NormalStrength; - uniform sampler2D _MicroNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MicroNormalMap); uniform half _MicroNormalTiling; + SamplerState sampler_MicroNormalMap; uniform half _MicroNormalStrength; uniform half _RearAO; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _TongueSaturation; uniform half _TongueBrightness; uniform half _FrontAO; - uniform sampler2D _GradientAOMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GradientAOMap); uniform half4 _GradientAOMap_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_GradientAOMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; + SamplerState sampler_MaskMap; uniform half _SmoothnessRear; uniform half _SmoothnessFront; uniform half _SmoothnessMax; @@ -158,18 +171,18 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D" float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; half2 temp_cast_0 = (_MicroNormalTiling).xx; float2 uv_TexCoord77 = i.uv_texcoord * temp_cast_0; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( tex2D( _MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _MicroNormalMap, sampler_MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half3 hsvTorgb33 = RGBToHSV( tex2D( _DiffuseMap, uv_DiffuseMap ).rgb ); + half3 hsvTorgb33 = RGBToHSV( SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ).rgb ); half3 hsvTorgb36 = HSVToRGB( half3(hsvTorgb33.x,( _TongueSaturation * hsvTorgb33.y ),( hsvTorgb33.z * _TongueBrightness )) ); float2 uv_GradientAOMap = i.uv_texcoord * _GradientAOMap_ST.xy + _GradientAOMap_ST.zw; - half4 tex2DNode31 = tex2D( _GradientAOMap, uv_GradientAOMap ); + half4 tex2DNode31 = SAMPLE_TEXTURE2D( _GradientAOMap, sampler_GradientAOMap, uv_GradientAOMap ); half3 lerpResult40 = lerp( ( _RearAO * hsvTorgb36 ) , ( hsvTorgb36 * _FrontAO ) , tex2DNode31.b); o.Albedo = lerpResult40; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode52 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode52 = SAMPLE_TEXTURE2D( _MaskMap, sampler_MaskMap, uv_MaskMap ); o.Metallic = tex2DNode52.r; half lerpResult58 = lerp( _SmoothnessFront , _SmoothnessMax , tex2DNode52.a); half lerpResult60 = lerp( _SmoothnessRear , lerpResult58 , tex2DNode31.b); @@ -187,7 +200,7 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;74;-3493.593,-1702.376;Inherit;False;2241.031;624.6102;;17;8;32;33;21;22;35;34;37;24;36;42;23;39;38;41;40;101;Base Color;0,1,0.1846018,1;0;0 Node;AmplifyShaderEditor.TexturePropertyNode;8;-3443.593,-1607.289;Inherit;True;Property;_DiffuseMap;Diffuse Map;0;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 Node;AmplifyShaderEditor.CommentaryNode;93;-4471.664,-192.7987;Inherit;False;667.9326;346.7067;Comment;2;12;31;Gradient AO Map;1,1,1,1;0;0 @@ -267,7 +280,7 @@ Node;AmplifyShaderEditor.WireNode;109;-272.2873,159.6325;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;114;-267.0723,488.1772;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;106;-274.8949,76.19246;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;107;-277.5022,-59.39759;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;97;343.2724,31.8975;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_TongueShader_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;6;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;97;343.2724,31.8975;Half;False;True;-1;2;;0;0;Standard;Reallusion/Amplify/RL_TongueShader_3D;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;6;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;32;0;8;0 WireConnection;33;0;32;0 WireConnection;31;0;12;0 @@ -347,4 +360,4 @@ WireConnection;97;5;112;0 WireConnection;97;6;113;0 WireConnection;97;7;114;0 ASEEND*/ -//CHKSM=141EE39D0ACD85367C413CEE2D75DE3146763FF6 \ No newline at end of file +//CHKSM=F464AD87F066BAA324ACFF28ADFCBE446870A8F3 \ No newline at end of file diff --git a/3D/Shaders/Amplify/RL_Amplify_WrinkleMapSystem.asset b/3D/Shaders/Amplify/RL_Amplify_WrinkleMapSystem.asset index 58ae81a..9847bc0 100644 --- a/3D/Shaders/Amplify/RL_Amplify_WrinkleMapSystem.asset +++ b/3D/Shaders/Amplify/RL_Amplify_WrinkleMapSystem.asset @@ -13,34 +13,37 @@ MonoBehaviour: m_Name: RL_Amplify_WrinkleMapSystem m_EditorClassIdentifier: m_functionInfo: "// Made with Amplify Shader Editor v1.9.1.5\n// Available at the - Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19105\nNode;AmplifyShaderEditor.FunctionInput;67;-589.4818,-842.3586;Inherit;False;Diffuse - Blend 1;5;8;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;68;-627.5155,-760.0377;Inherit;False;Smoothness - Blend 1;1;11;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;7;-561.4145,-1274.574;Inherit;False;Diffuse;5;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;8;-594.4482,-1188.253;Inherit;False;Smoothness;1;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;9;-575.4482,-1105.253;Inherit;False;Normal;3;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput;71;-46.06532,-534.6825;Inherit;False;Diffuse + Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19105\nNode;AmplifyShaderEditor.FunctionInput;7;-561.4145,-1274.574;Inherit;False;Diffuse;5;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;8;-594.4482,-1188.253;Inherit;False;Smoothness;1;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;9;-575.4482,-1105.253;Inherit;False;Normal;3;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput;71;-46.06532,-534.6825;Inherit;False;Diffuse Blend 2;5;9;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;72;-84.09901,-452.3618;Inherit;False;Smoothness Blend 2;1;12;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;73;-52.09902,-370.3618;Inherit;False;Normal Blend 2;3;15;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput;76;373.9914,-119.6657;Inherit;False;Diffuse Blend 3;5;10;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;77;335.9577,-37.34504;Inherit;False;Smoothness Blend 3;1;13;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;78;367.9577,44.65496;Inherit;False;Normal Blend 3;3;16;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.GetLocalVarNode;33;-1249.861,-1135.6;Inherit;False;27;leftMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;55;-1019.903,-1070.698;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;45;-748.2649,-482.6722;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;0;1314.635,-396.9306;Inherit;False;True;-1;Diffuse;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionOutput;1;1309.735,-253.1305;Inherit;False;False;-1;Smoothness;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;6;1318.936,-120.5305;Inherit;False;False;-1;Normal;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;56;-1016.903,-849.6977;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;69;-595.5155,-678.0377;Inherit;False;Normal - Blend 1;3;14;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionNode;93;220.2186,-741.5901;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;11;2dd083c563814274eb11b0e3acfe6235;0;7;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nNode;AmplifyShaderEditor.FunctionNode;94;723.4176,-344.6829;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;12;2dd083c563814274eb11b0e3acfe6235;0;7;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nNode;AmplifyShaderEditor.GetLocalVarNode;34;-1254.708,-764.9794;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;44;-746.265,-277.672;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;98;-822.3413,-943.9315;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;99;-550.8871,-385.1749;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.WireNode;100;-210.8871,-592.1749;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.WireNode;102;283.119,-203.0115;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;47;-637.377,25.64655;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;48;-638.377,140.6467;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;24;-895.0123,-15.4979;Inherit;False;Value - Set 3 Left;4;20;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;26;-908.2667,201.9431;Inherit;False;Value - Set 3 Right;4;25;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;18;-869.6239,96.05134;Inherit;False;Mask + Blend 1;3;14;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.GetLocalVarNode;34;-1254.708,-764.9794;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;44;-746.265,-277.672;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;98;-822.3413,-943.9315;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;96;-1253.341,-1028.932;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;97;-1255.341,-890.9315;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;99;-550.8871,-385.1749;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.WireNode;100;-210.8871,-592.1749;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.WireNode;102;283.119,-203.0115;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;47;-637.377,25.64655;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;48;-638.377,140.6467;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;24;-895.0123,-15.4979;Inherit;False;Value + Set 3 Left;4;23;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;26;-908.2667,201.9431;Inherit;False;Value + Set 3 Right;4;28;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;18;-869.6239,96.05134;Inherit;False;Mask Set 3;4;6;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.GetLocalVarNode;133;-684.2579,-87.05706;Inherit;False;129;value3DLeft;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;132;-425.7496,152.4991;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;134;-709.7649,283.0699;Inherit;False;130;value3DRight;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;41;-1152.365,-434.6721;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;42;-1153.365,-319.672;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;23;-1424.912,-473.7936;Inherit;False;Value - Set 2 Left;4;19;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;17;-1394.066,-366.431;Inherit;False;Mask + Set 2 Left;4;22;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;17;-1394.066,-366.431;Inherit;False;Mask Set 2;4;5;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;25;-1433.336,-256.4583;Inherit;False;Value - Set 2 Right;4;24;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.GetLocalVarNode;139;-1188.395,-537.8706;Inherit;False;137;value2CLeft;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;141;-950.782,-443.3104;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;142;-950.782,-322.3104;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;19;-1798.574,-1236.91;Inherit;False;Value - Set 1A Left;4;17;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;15;-1775.479,-1111.716;Inherit;False;Mask + Set 2 Right;4;27;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.GetLocalVarNode;139;-1188.395,-537.8706;Inherit;False;137;value2CLeft;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;141;-950.782,-443.3104;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;142;-950.782,-322.3104;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;19;-1798.574,-1236.91;Inherit;False;Value + Set 1A Left;4;20;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;15;-1775.479,-1111.716;Inherit;False;Mask Set 1A;4;3;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;21;-1801.875,-988.8464;Inherit;False;Value - Set 1A Right;4;22;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;20;-1806.512,-873.1678;Inherit;False;Value - Set 1B Left;4;18;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;16;-1783.61,-766.7807;Inherit;False;Mask + Set 1A Right;4;25;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;20;-1806.512,-873.1678;Inherit;False;Value + Set 1B Left;4;21;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;16;-1783.61,-766.7807;Inherit;False;Mask Set 1B;4;4;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;22;-1818.051,-648.4255;Inherit;False;Value - Set 1B Right;4;23;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.DotProductOpNode;29;-1500.046,-1133.352;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;143;-1552.789,-1240.006;Inherit;False;135;value1CLeft;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;36;-1501.121,-770.4581;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;144;-1566.948,-634.6945;Inherit;False;136;value1CRight;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SaturateNode;14;-1491.99,218.3968;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SaturateNode;13;-1491.99,72.39689;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;28;-1319.989,271.9563;Inherit;True;rightMask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionNode;12;-1693.99,220.3968;Inherit;False;Inverse + Set 1B Right;4;26;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.DotProductOpNode;29;-1500.046,-1133.352;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;30;-1501.046,-1018.352;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;143;-1552.789,-1240.006;Inherit;False;135;value1CLeft;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;35;-1500.121,-885.4581;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;36;-1501.121,-770.4581;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;144;-1566.948,-634.6945;Inherit;False;136;value1CRight;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SaturateNode;14;-1491.99,218.3968;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SaturateNode;13;-1491.99,72.39689;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;28;-1319.989,271.9563;Inherit;True;rightMask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionNode;12;-1693.99,220.3968;Inherit;False;Inverse Lerp;-1;;14;09cbe79402f023141a4dc1fddd4c9511;0;3;1;FLOAT;0.51;False;2;FLOAT;0.49;False;3;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionNode;11;-1695.99,71.3969;Inherit;False;Inverse - Lerp;-1;;15;09cbe79402f023141a4dc1fddd4c9511;0;3;1;FLOAT;0.49;False;2;FLOAT;0.51;False;3;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DynamicAppendNode;120;-2980.736,-881.9244;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;119;-2978.736,-763.9243;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;112;-2983.105,-624.1596;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;107;-3227.591,-533.767;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.DynamicAppendNode;116;-2975.654,6.938761;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;108;-3226.768,-133.0466;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.DotProductOpNode;123;-2716.193,-185.9564;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;124;-2717.606,-60.14559;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;104;-3498.659,-222.5177;Inherit;False;Value - Set 12C Right;4;26;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.DynamicAppendNode;117;-2985.754,-393.9609;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;114;-2975.654,-111.4612;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;113;-2976.004,-222.3599;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DotProductOpNode;121;-2720.606,-568.4261;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;122;-2722.019,-442.6149;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;127;-2723.07,-879.7939;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;128;-2724.483,-753.9828;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;118;-3226.418,-838.1046;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.RegisterLocalVarNode;129;-2523.568,-884.6939;Inherit;False;value3DLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;130;-2524.948,-756.3394;Inherit;False;value3DRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;136;-2510.579,-444.2961;Inherit;False;value1CRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;137;-2495.519,-179.2551;Inherit;False;value2CLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;138;-2497.519,-58.25521;Inherit;False;value2CRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;140;-1217.495,-194.3703;Inherit;False;138;value2CRight;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;43;-972.2646,-542.6722;Inherit;False;27;leftMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;46;-970.7837,-191.8731;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;131;-423.4989,14.465;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;49;-436.9501,-98.39291;Inherit;False;27;leftMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-200.9499,-38.39291;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;52;-448.4732,304.8703;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;50;-203.9771,186.7813;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;101;-18.28674,64.33205;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;106;-3488.772,-810.3871;Inherit;False;Value - Set 3D Both;4;27;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionNode;95;-273.9871,-1035.686;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;16;2dd083c563814274eb11b0e3acfe6235;0;7;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nNode;AmplifyShaderEditor.RegisterLocalVarNode;27;-1319.989,24.95639;Inherit;True;leftMask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.TextureCoordinatesNode;10;-2120.974,166.2354;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4\nNode;AmplifyShaderEditor.FunctionInput;103;-3490.977,-448.4078;Inherit;False;Value - Set 12C Left;4;21;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.DynamicAppendNode;115;-2980.205,-508.0597;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;109;-3231.654,-336.0601;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.FunctionInput;105;-3460.351,-341.6038;Inherit;False;Mask - Set 123;4;7;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;135;-2516.753,-568.7963;Inherit;False;value1CLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;96;-1251.341,-1033.932;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;97;-1251.341,-898.9315;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;35;-1502.121,-887.4581;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;30;-1502.046,-1018.352;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT;0\nWireConnection;55;0;33;0\nWireConnection;55;1;96;0\nWireConnection;45;0;43;0\nWireConnection;45;1;141;0\nWireConnection;0;0;94;7\nWireConnection;1;0;94;8\nWireConnection;6;0;94;9\nWireConnection;56;0;97;0\nWireConnection;56;1;34;0\nWireConnection;93;10;95;7\nWireConnection;93;11;95;8\nWireConnection;93;12;95;9\nWireConnection;93;16;100;0\nWireConnection;93;15;71;0\nWireConnection;93;13;72;0\nWireConnection;93;14;73;0\nWireConnection;94;10;93;7\nWireConnection;94;11;93;8\nWireConnection;94;12;93;9\nWireConnection;94;16;102;0\nWireConnection;94;15;76;0\nWireConnection;94;13;77;0\nWireConnection;94;14;78;0\nWireConnection;44;0;142;0\nWireConnection;44;1;46;0\nWireConnection;98;0;55;0\nWireConnection;98;1;56;0\nWireConnection;99;0;45;0\nWireConnection;99;1;44;0\nWireConnection;100;0;99;0\nWireConnection;102;0;101;0\nWireConnection;47;0;24;0\nWireConnection;47;1;18;0\nWireConnection;48;0;18;0\nWireConnection;48;1;26;0\nWireConnection;132;0;48;0\nWireConnection;132;1;134;0\nWireConnection;41;0;23;0\nWireConnection;41;1;17;0\nWireConnection;42;0;17;0\nWireConnection;42;1;25;0\nWireConnection;141;0;139;0\nWireConnection;141;1;41;0\nWireConnection;142;0;42;0\nWireConnection;142;1;140;0\nWireConnection;29;0;19;0\nWireConnection;29;1;15;0\nWireConnection;36;0;16;0\nWireConnection;36;1;22;0\nWireConnection;14;0;12;0\nWireConnection;13;0;11;0\nWireConnection;28;0;14;0\nWireConnection;12;3;10;1\nWireConnection;11;3;10;1\nWireConnection;120;0;118;0\nWireConnection;120;1;118;1\nWireConnection;119;0;118;2\nWireConnection;119;1;118;3\nWireConnection;112;0;107;0\nWireConnection;112;1;107;1\nWireConnection;107;0;103;0\nWireConnection;116;0;108;2\nWireConnection;116;1;108;3\nWireConnection;108;0;104;0\nWireConnection;123;0;113;0\nWireConnection;123;1;114;0\nWireConnection;124;0;114;0\nWireConnection;124;1;116;0\nWireConnection;117;0;108;0\nWireConnection;117;1;108;1\nWireConnection;114;0;109;2\nWireConnection;114;1;109;3\nWireConnection;113;0;107;2\nWireConnection;113;1;107;3\nWireConnection;121;0;112;0\nWireConnection;121;1;115;0\nWireConnection;122;0;115;0\nWireConnection;122;1;117;0\nWireConnection;127;0;120;0\nWireConnection;127;1;115;0\nWireConnection;128;0;115;0\nWireConnection;128;1;119;0\nWireConnection;118;0;106;0\nWireConnection;129;0;127;0\nWireConnection;130;0;128;0\nWireConnection;136;0;122;0\nWireConnection;137;0;123;0\nWireConnection;138;0;124;0\nWireConnection;131;0;133;0\nWireConnection;131;1;47;0\nWireConnection;51;0;49;0\nWireConnection;51;1;131;0\nWireConnection;50;0;132;0\nWireConnection;50;1;52;0\nWireConnection;101;0;51;0\nWireConnection;101;1;50;0\nWireConnection;95;10;7;0\nWireConnection;95;11;8;0\nWireConnection;95;12;9;0\nWireConnection;95;16;98;0\nWireConnection;95;15;67;0\nWireConnection;95;13;68;0\nWireConnection;95;14;69;0\nWireConnection;27;0;13;0\nWireConnection;115;0;109;0\nWireConnection;115;1;109;1\nWireConnection;109;0;105;0\nWireConnection;135;0;121;0\nWireConnection;96;0;143;0\nWireConnection;96;1;29;0\nWireConnection;96;2;35;0\nWireConnection;97;0;30;0\nWireConnection;97;1;36;0\nWireConnection;97;2;144;0\nWireConnection;35;0;20;0\nWireConnection;35;1;16;0\nWireConnection;30;0;15;0\nWireConnection;30;1;21;0\nASEEND*/\n//CHKSM=8ADE098AC7BBB65B4A3B79A6ACDCB987A0B0CEBD" + Lerp;-1;;15;09cbe79402f023141a4dc1fddd4c9511;0;3;1;FLOAT;0.49;False;2;FLOAT;0.51;False;3;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DynamicAppendNode;120;-2980.736,-881.9244;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;119;-2978.736,-763.9243;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;115;-2984.105,-504.1597;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;112;-2983.105,-624.1596;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;107;-3227.591,-533.767;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.FunctionInput;103;-3490.977,-448.4078;Inherit;False;Value + Set 12C Left;4;24;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;109;-3231.654,-336.0601;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.DynamicAppendNode;116;-2975.654,6.938761;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;108;-3226.768,-133.0466;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.DotProductOpNode;123;-2716.193,-185.9564;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;124;-2717.606,-60.14559;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;104;-3498.659,-222.5177;Inherit;False;Value + Set 12C Right;4;29;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.FunctionInput;105;-3460.351,-341.6038;Inherit;False;Mask + Set 123;4;7;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.DynamicAppendNode;117;-2985.754,-393.9609;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;114;-2975.654,-111.4612;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DynamicAppendNode;113;-2976.004,-222.3599;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0\nNode;AmplifyShaderEditor.DotProductOpNode;121;-2720.606,-568.4261;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;122;-2722.019,-442.6149;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;127;-2723.07,-879.7939;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DotProductOpNode;128;-2724.483,-753.9828;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.BreakToComponentsNode;118;-3226.418,-838.1046;Inherit;False;FLOAT4;1;0;FLOAT4;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15\nNode;AmplifyShaderEditor.RegisterLocalVarNode;129;-2523.568,-884.6939;Inherit;False;value3DLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;130;-2524.948,-756.3394;Inherit;False;value3DRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;135;-2516.753,-568.7963;Inherit;False;value1CLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;136;-2510.579,-444.2961;Inherit;False;value1CRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;137;-2495.519,-179.2551;Inherit;False;value2CLeft;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;138;-2497.519,-58.25521;Inherit;False;value2CRight;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;140;-1217.495,-194.3703;Inherit;False;138;value2CRight;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;43;-972.2646,-542.6722;Inherit;False;27;leftMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;46;-970.7837,-191.8731;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;131;-423.4989,14.465;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;49;-436.9501,-98.39291;Inherit;False;27;leftMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-200.9499,-38.39291;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.GetLocalVarNode;52;-448.4732,304.8703;Inherit;False;28;rightMask;1;0;OBJECT;;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;50;-203.9771,186.7813;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleAddOpNode;101;-18.28674,64.33205;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;106;-3488.772,-810.3871;Inherit;False;Value + Set 3D Both;4;30;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;27;-1319.989,24.95639;Inherit;True;leftMask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.TextureCoordinatesNode;10;-2120.974,166.2354;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4\nNode;AmplifyShaderEditor.FunctionInput;67;-589.4818,-842.3586;Inherit;False;Diffuse + Blend 1;5;8;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;68;-627.5155,-760.0377;Inherit;False;Smoothness + Blend 1;1;11;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;151;-572.8107,-586.7535;Inherit;False;Flow + Map 1;1;17;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;155;-26.81067,-284.7535;Inherit;False;Flow + Map 2;1;18;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;156;390.1893,132.2465;Inherit;False;Flow + Map 3;1;19;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionNode;169;220.2186,-741.5901;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;59;3f445c9de4a3a124d841df7bd233b17f;0;8;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;20;FLOAT;0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nNode;AmplifyShaderEditor.FunctionNode;170;723.4176,-344.6829;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;61;3f445c9de4a3a124d841df7bd233b17f;0;8;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;20;FLOAT;0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nNode;AmplifyShaderEditor.FunctionNode;171;-273.9871,-1035.686;Inherit;False;RL_Amplify_WrinkleMaskBlend;-1;;63;3f445c9de4a3a124d841df7bd233b17f;0;8;10;COLOR;0,0,0,0;False;11;FLOAT;0;False;12;FLOAT3;0,0,0;False;16;FLOAT;0;False;15;COLOR;0,0,0,0;False;13;FLOAT;0;False;14;FLOAT3;0,0,0;False;20;FLOAT;0;False;3;COLOR;7;FLOAT;8;FLOAT3;9\nWireConnection;55;0;33;0\nWireConnection;55;1;96;0\nWireConnection;45;0;43;0\nWireConnection;45;1;141;0\nWireConnection;0;0;170;7\nWireConnection;1;0;170;8\nWireConnection;6;0;170;9\nWireConnection;56;0;97;0\nWireConnection;56;1;34;0\nWireConnection;44;0;142;0\nWireConnection;44;1;46;0\nWireConnection;98;0;55;0\nWireConnection;98;1;56;0\nWireConnection;96;0;143;0\nWireConnection;96;1;29;0\nWireConnection;96;2;35;0\nWireConnection;97;0;30;0\nWireConnection;97;1;36;0\nWireConnection;97;2;144;0\nWireConnection;99;0;45;0\nWireConnection;99;1;44;0\nWireConnection;100;0;99;0\nWireConnection;102;0;101;0\nWireConnection;47;0;24;0\nWireConnection;47;1;18;0\nWireConnection;48;0;18;0\nWireConnection;48;1;26;0\nWireConnection;132;0;48;0\nWireConnection;132;1;134;0\nWireConnection;41;0;23;0\nWireConnection;41;1;17;0\nWireConnection;42;0;17;0\nWireConnection;42;1;25;0\nWireConnection;141;0;139;0\nWireConnection;141;1;41;0\nWireConnection;142;0;42;0\nWireConnection;142;1;140;0\nWireConnection;29;0;19;0\nWireConnection;29;1;15;0\nWireConnection;30;0;15;0\nWireConnection;30;1;21;0\nWireConnection;35;0;20;0\nWireConnection;35;1;16;0\nWireConnection;36;0;16;0\nWireConnection;36;1;22;0\nWireConnection;14;0;12;0\nWireConnection;13;0;11;0\nWireConnection;28;0;14;0\nWireConnection;12;3;10;1\nWireConnection;11;3;10;1\nWireConnection;120;0;118;0\nWireConnection;120;1;118;1\nWireConnection;119;0;118;2\nWireConnection;119;1;118;3\nWireConnection;115;0;109;0\nWireConnection;115;1;109;1\nWireConnection;112;0;107;0\nWireConnection;112;1;107;1\nWireConnection;107;0;103;0\nWireConnection;109;0;105;0\nWireConnection;116;0;108;2\nWireConnection;116;1;108;3\nWireConnection;108;0;104;0\nWireConnection;123;0;113;0\nWireConnection;123;1;114;0\nWireConnection;124;0;114;0\nWireConnection;124;1;116;0\nWireConnection;117;0;108;0\nWireConnection;117;1;108;1\nWireConnection;114;0;109;2\nWireConnection;114;1;109;3\nWireConnection;113;0;107;2\nWireConnection;113;1;107;3\nWireConnection;121;0;112;0\nWireConnection;121;1;115;0\nWireConnection;122;0;115;0\nWireConnection;122;1;117;0\nWireConnection;127;0;120;0\nWireConnection;127;1;115;0\nWireConnection;128;0;115;0\nWireConnection;128;1;119;0\nWireConnection;118;0;106;0\nWireConnection;129;0;127;0\nWireConnection;130;0;128;0\nWireConnection;135;0;121;0\nWireConnection;136;0;122;0\nWireConnection;137;0;123;0\nWireConnection;138;0;124;0\nWireConnection;131;0;133;0\nWireConnection;131;1;47;0\nWireConnection;51;0;49;0\nWireConnection;51;1;131;0\nWireConnection;50;0;132;0\nWireConnection;50;1;52;0\nWireConnection;101;0;51;0\nWireConnection;101;1;50;0\nWireConnection;27;0;13;0\nWireConnection;169;10;171;7\nWireConnection;169;11;171;8\nWireConnection;169;12;171;9\nWireConnection;169;16;100;0\nWireConnection;169;15;71;0\nWireConnection;169;13;72;0\nWireConnection;169;14;73;0\nWireConnection;169;20;155;0\nWireConnection;170;10;169;7\nWireConnection;170;11;169;8\nWireConnection;170;12;169;9\nWireConnection;170;16;102;0\nWireConnection;170;15;76;0\nWireConnection;170;13;77;0\nWireConnection;170;14;78;0\nWireConnection;170;20;156;0\nWireConnection;171;10;7;0\nWireConnection;171;11;8;0\nWireConnection;171;12;9;0\nWireConnection;171;16;98;0\nWireConnection;171;15;67;0\nWireConnection;171;13;68;0\nWireConnection;171;14;69;0\nWireConnection;171;20;151;0\nASEEND*/\n//CHKSM=081CCEA116703EBFBD176A5794A982805461C3A4" m_functionName: m_description: m_additionalIncludes: diff --git a/3D/Shaders/Amplify/RL_Amplify_WrinkleMaskBlend.asset b/3D/Shaders/Amplify/RL_Amplify_WrinkleMaskBlend.asset index f02f28a..7925b27 100644 --- a/3D/Shaders/Amplify/RL_Amplify_WrinkleMaskBlend.asset +++ b/3D/Shaders/Amplify/RL_Amplify_WrinkleMaskBlend.asset @@ -12,11 +12,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 78b2425a2284af743826c689403a4924, type: 3} m_Name: RL_Amplify_WrinkleMaskBlend m_EditorClassIdentifier: - m_functionInfo: "// Made with Amplify Shader Editor v1.9.1.2\n// Available at the - Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19102\nNode;AmplifyShaderEditor.LerpOp;18;-414.8555,56.44666;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.LerpOp;19;-386.4705,273.6534;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.LerpOp;17;-412.2947,-295.5495;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;16;-1118.028,47.54237;Inherit;False;Mask;1;3;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;13;-695.0119,28.14616;Inherit;False;Smoothness - Blend;1;5;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;11;-657.5759,-57.76627;Inherit;False;Smoothness;1;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;9;72.60135,78.67609;Inherit;False;False;-1;Normal;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionOutput;8;53.60136,-28.32395;Inherit;False;False;-1;Smoothness;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;7;70.60136,-131.8239;Inherit;False;True;-1;Diffuse;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;15;-693.5788,-266.1748;Inherit;False;Diffuse + m_functionInfo: "// Made with Amplify Shader Editor v1.9.1.5\n// Available at the + Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19105\nNode;AmplifyShaderEditor.LerpOp;18;-414.8555,56.44666;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.LerpOp;19;-386.4705,273.6534;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.LerpOp;17;-412.2947,-295.5495;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;13;-695.0119,28.14616;Inherit;False;Smoothness + Blend;1;5;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;9;72.60135,78.67609;Inherit;False;False;-1;Normal;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionOutput;8;53.60136,-28.32395;Inherit;False;False;-1;Smoothness;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;7;70.60136,-131.8239;Inherit;False;True;-1;Diffuse;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;15;-693.5788,-266.1748;Inherit;False;Diffuse Blend;5;4;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;10;-674.9424,-366.7728;Inherit;False;Diffuse;5;0;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0\nNode;AmplifyShaderEditor.FunctionInput;12;-666.6767,333.7483;Inherit;False;Normal;3;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput;14;-691.8113,433.0462;Inherit;False;Normal - Blend;3;6;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nWireConnection;18;0;11;0\nWireConnection;18;1;13;0\nWireConnection;18;2;16;0\nWireConnection;19;0;12;0\nWireConnection;19;1;14;0\nWireConnection;19;2;16;0\nWireConnection;17;0;10;0\nWireConnection;17;1;15;0\nWireConnection;17;2;16;0\nWireConnection;9;0;19;0\nWireConnection;8;0;18;0\nWireConnection;7;0;17;0\nASEEND*/\n//CHKSM=1C3CF7C87C019454246EED40427E8A4D8A207232" + Blend;3;6;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput;11;-657.5759,-57.76627;Inherit;False;Smoothness;1;1;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-1117.603,50.98128;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SaturateNode;22;-1302.823,-90.28536;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;16;-1713.802,69.57533;Inherit;False;Mask;1;3;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionNode;21;-1513.482,-86.02872;Inherit;False;Inverse + Lerp;-1;;1;09cbe79402f023141a4dc1fddd4c9511;0;3;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput;20;-1708.279,-100.9836;Inherit;False;Flow;1;7;False;1;0;FLOAT;0;False;1;FLOAT;0\nWireConnection;18;0;11;0\nWireConnection;18;1;13;0\nWireConnection;18;2;23;0\nWireConnection;19;0;12;0\nWireConnection;19;1;14;0\nWireConnection;19;2;23;0\nWireConnection;17;0;10;0\nWireConnection;17;1;15;0\nWireConnection;17;2;23;0\nWireConnection;9;0;19;0\nWireConnection;8;0;18;0\nWireConnection;7;0;17;0\nWireConnection;23;0;22;0\nWireConnection;23;1;16;0\nWireConnection;22;0;21;0\nWireConnection;21;2;20;0\nWireConnection;21;3;16;0\nASEEND*/\n//CHKSM=86FBC723141181D1FDEFA5D72C86FE903EDB07EE" m_functionName: m_description: m_additionalIncludes: diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_3D_Tessellation.shader index 70ce408..84bc1ee 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" { @@ -70,6 +70,13 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" #include "Lighting.cginc" #pragma target 4.6 #pragma shader_feature_local BOOLEAN_ISCORNEA_ON + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -99,24 +106,27 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" }; uniform half _IsLeftEye; - uniform sampler2D _ScleraNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ScleraNormalMap); uniform half _ScleraNormalTiling; + SamplerState sampler_ScleraNormalMap; uniform half _ScleraNormalStrength; uniform half _IrisRadius; uniform half _IrisScale; uniform half _LimbusWidth; - uniform sampler2D _ColorBlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ColorBlendMap); uniform half4 _ColorBlendMap_ST; + SamplerState sampler_ColorBlendMap; uniform half4 _LimbusColor; uniform half4 _IrisCloudyColor; uniform half _IrisHue; - uniform sampler2D _CorneaDiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_CorneaDiffuseMap); uniform half _IrisDepth; uniform half _PupilScale; uniform half _DepthRadius; uniform half _IOR; uniform half _PMod; uniform half _ParallaxRadius; + SamplerState sampler_CorneaDiffuseMap; uniform half4 _IrisColor; uniform half _IrisSaturation; uniform half _IrisBrightness; @@ -124,21 +134,24 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" uniform half _LimbusDarkWidth; uniform half4 _CornerShadowColor; uniform half _ScleraHue; - uniform sampler2D _ScleraDiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ScleraDiffuseMap); uniform half _ScleraScale; + SamplerState sampler_ScleraDiffuseMap; uniform half _ScleraSaturation; uniform half _ScleraBrightness; uniform half _ShadowHardness; uniform half _ShadowRadius; uniform half _ColorBlendStrength; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _CorneaSmoothness; uniform half _ScleraSmoothness; uniform half _AOStrength; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; + SamplerState sampler_MaskMap; uniform half _Translucency; uniform half _TransNormalDistortion; uniform half _TransScattering; @@ -221,7 +234,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" half radial203 = length( ( i.uv_texcoord - float2( 0.5,0.5 ) ) ); half smoothstepResult28 = smoothstep( ( scaledIrisRadius209 - ( irisScale208 * _LimbusWidth ) ) , scaledIrisRadius209 , radial203); half irisMask213 = smoothstepResult28; - o.Normal = UnpackScaleNormal( tex2D( _ScleraNormalMap, uv_TexCoord294 ), ( _ScleraNormalStrength * irisMask213 ) ); + o.Normal = UnpackScaleNormal( SAMPLE_TEXTURE2D( _ScleraNormalMap, sampler_ScleraNormalMap, uv_TexCoord294 ), ( _ScleraNormalStrength * irisMask213 ) ); float2 uv_ColorBlendMap = i.uv_texcoord * _ColorBlendMap_ST.xy + _ColorBlendMap_ST.zw; half irisDepth219 = _IrisDepth; half temp_output_1_0_g1 = ( _DepthRadius * scaledIrisRadius209 ); @@ -239,7 +252,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" half temp_output_152_0 = ( irisScale208 * _ParallaxRadius ); half saferPower157 = abs( saturate( ( ( temp_output_152_0 - radial203 ) / temp_output_152_0 ) ) ); half2 lerpResult136 = lerp( uv_TexCoord93 , (( uv_TexCoord93 - ( (normalizeResult117).xy * _IrisDepth ) )*temp_output_122_0 + ( ( 1.0 - temp_output_122_0 ) * 0.5 )) , pow( saferPower157 , 0.25 )); - half3 hsvTorgb174 = RGBToHSV( ( tex2D( _CorneaDiffuseMap, lerpResult136 ) * _IrisColor ).rgb ); + half3 hsvTorgb174 = RGBToHSV( ( SAMPLE_TEXTURE2D( _CorneaDiffuseMap, sampler_CorneaDiffuseMap, lerpResult136 ) * _IrisColor ).rgb ); half3 hsvTorgb184 = HSVToRGB( half3(( ( _IrisHue - 0.5 ) + hsvTorgb174.x ),( hsvTorgb174.y * _IrisSaturation ),( hsvTorgb174.z * _IrisBrightness )) ); half4 blendOpSrc201 = _LimbusColor; half4 blendOpDest201 = ( ( _IrisCloudyColor * float4( 0.5,0.5,0.5,1 ) ) + half4( hsvTorgb184 , 0.0 ) ); @@ -250,7 +263,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" half2 temp_cast_5 = (temp_output_223_0).xx; half2 temp_cast_6 = (( ( 1.0 - temp_output_223_0 ) * 0.5 )).xx; float2 uv_TexCoord228 = i.uv_texcoord * temp_cast_5 + temp_cast_6; - half3 hsvTorgb231 = RGBToHSV( tex2D( _ScleraDiffuseMap, uv_TexCoord228 ).rgb ); + half3 hsvTorgb231 = RGBToHSV( SAMPLE_TEXTURE2D( _ScleraDiffuseMap, sampler_ScleraDiffuseMap, uv_TexCoord228 ).rgb ); half3 hsvTorgb232 = HSVToRGB( half3(( ( _ScleraHue - 0.5 ) + hsvTorgb231.x ),( hsvTorgb231.y * _ScleraSaturation ),( hsvTorgb231.z * _ScleraBrightness )) ); half4 blendOpSrc23 = _CornerShadowColor; half4 blendOpDest23 = half4( hsvTorgb232 , 0.0 ); @@ -258,17 +271,17 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" half temp_output_1_0_g13 = ( ( _ShadowHardness * _ScleraScale ) * temp_output_247_0 ); half4 lerpBlendMode23 = lerp(blendOpDest23,( blendOpSrc23 * blendOpDest23 ),saturate( ( ( radial203 - temp_output_1_0_g13 ) / ( temp_output_247_0 - temp_output_1_0_g13 ) ) )); half4 lerpResult261 = lerp( ( saturate( lerpBlendMode201 )) , ( saturate( lerpBlendMode23 )) , irisMask213); - half4 blendOpSrc21 = tex2D( _ColorBlendMap, uv_ColorBlendMap ); + half4 blendOpSrc21 = SAMPLE_TEXTURE2D( _ColorBlendMap, sampler_ColorBlendMap, uv_ColorBlendMap ); half4 blendOpDest21 = lerpResult261; half4 lerpBlendMode21 = lerp(blendOpDest21,( blendOpSrc21 * blendOpDest21 ),_ColorBlendStrength); half4 temp_output_21_0 = ( saturate( lerpBlendMode21 )); o.Albedo = temp_output_21_0.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; half lerpResult271 = lerp( _CorneaSmoothness , _ScleraSmoothness , irisMask213); o.Smoothness = lerpResult271; float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - o.Occlusion = ( 1.0 - ( _AOStrength * ( 1.0 - tex2D( _MaskMap, uv_MaskMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _AOStrength * ( 1.0 - SAMPLE_TEXTURE2D( _MaskMap, sampler_MaskMap, uv_MaskMap ).g ) ) ); half lerpResult315 = lerp( _IrisSubsurfaceScale , _ScleraSubsurfaceScale , irisMask213); half4 baseColor370 = temp_output_21_0; o.Translucency = ( lerpResult315 * 0.5 * ( _SubsurfaceFalloff * baseColor370 ) ).rgb; @@ -362,7 +375,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;204;-6596.911,-3587.629;Inherit;False;1134.455;323.4619;Comment;5;37;36;40;38;203;Radial Gradient;1,0,0.9132481,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;59;-6599.231,-2888.385;Inherit;False;755.1367;301.8584;;5;27;26;25;208;209;Scaled Iris Radius;1,0,0.8158517,1;0;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;36;-6546.911,-3537.629;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -554,7 +567,7 @@ Node;AmplifyShaderEditor.WireNode;374;498.9136,712.3886;Inherit;False;1;0;FLOAT3 Node;AmplifyShaderEditor.WireNode;375;495.321,817.2252;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;377;499.1292,1050.968;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;378;499.403,1174.896;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;369;996.8561,720.2521;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;12;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;369;996.8561,720.2521;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;12;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.RangedFloatNode;112;-6203.872,-120.0343;Inherit;False;Property;_IOR;Cornea IOR;22;0;Create;False;0;0;0;False;0;False;1.4;1.4;1;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;43;-7572.302,-566.9115;Inherit;False;Property;_DepthRadius;Pupil Outer Radius;33;0;Create;False;0;0;0;False;0;False;0.8;0.8;0;1;0;1;FLOAT;0 WireConnection;37;0;36;0 @@ -746,4 +759,4 @@ WireConnection;369;4;376;0 WireConnection;369;5;377;0 WireConnection;369;7;378;0 ASEEND*/ -//CHKSM=52E93E2F50AA808CF81D3A2EA3E5AB0E4D92895A \ No newline at end of file +//CHKSM=4AA9B6E34940A8AD8536B5C5A7E4558F8CF41038 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_Baked_3D_Tessellation.shader index 4c751a3..828e205 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_CorneaShaderParallax_Baked_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" { @@ -47,6 +47,13 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" #include "Tessellation.cginc" #include "Lighting.cginc" #pragma target 4.6 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -75,31 +82,38 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" half3 Translucency; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; - uniform sampler2D _MainTex; + SamplerState sampler_DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; + SamplerState sampler_MainTex; uniform half _IrisDepth; uniform half _PupilScale; uniform half _IOR; uniform half _PMod; uniform half4 _Color; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _Translucency; uniform half _TransNormalDistortion; uniform half _TransScattering; @@ -107,8 +121,9 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" uniform half _TransAmbient; uniform half _TransShadow; uniform half _SubsurfaceMask; - uniform sampler2D _SubsurfaceMaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SubsurfaceMaskMap); uniform half4 _SubsurfaceMaskMap_ST; + SamplerState sampler_SubsurfaceMaskMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -159,9 +174,9 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - half4 tex2DNode370 = tex2D( _DetailMask, uv_DetailMask ); + half4 tex2DNode370 = SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ); half microNormalMask376 = tex2DNode370.a; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * microNormalMask376 ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * microNormalMask376 ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; half irisDepth219 = _IrisDepth; half pupilScaleMask372 = tex2DNode370.g; @@ -182,19 +197,19 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" half parallaxHeightMask375 = tex2DNode370.b; half2 lerpResult136 = lerp( uv_TexCoord93 , (( uv_TexCoord93 - ( (normalizeResult117).xy * irisDepth219 ) )*temp_output_122_0 + ( ( 1.0 - temp_output_122_0 ) * 0.5 )) , parallaxHeightMask375); half eyeBlendMask374 = tex2DNode370.r; - half4 lerpResult383 = lerp( tex2D( _MainTex, uv_MainTex ) , tex2D( _MainTex, lerpResult136 ) , eyeBlendMask374); + half4 lerpResult383 = lerp( SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) , SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, lerpResult136 ) , eyeBlendMask374); half4 baseColor418 = ( lerpResult383 * _Color ); o.Albedo = baseColor418.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode412 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode412 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode412.g ); o.Smoothness = ( tex2DNode412.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); float2 uv_SubsurfaceMaskMap = i.uv_texcoord * _SubsurfaceMaskMap_ST.xy + _SubsurfaceMaskMap_ST.zw; - o.Translucency = ( _SubsurfaceMask * 0.5 * tex2D( _SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) ).rgb; + o.Translucency = ( _SubsurfaceMask * 0.5 * SAMPLE_TEXTURE2D( _SubsurfaceMaskMap, sampler_SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) ).rgb; o.Alpha = 1; } @@ -285,7 +300,7 @@ Shader "Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.RangedFloatNode;72;-5475.112,-249.8526;Inherit;False;Property;_IrisDepth;Iris Depth;22;0;Create;True;0;0;0;False;0;False;0.3;0.2997;0.1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;219;-5107.964,-248.4698;Inherit;False;irisDepth;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;168;-5329.34,-1188.403;Inherit;False;1999.866;565.8079;;12;73;74;70;71;220;69;83;93;91;89;88;373;Pupil Scaling;1,0.9427493,0,1;0;0 @@ -381,7 +396,7 @@ Node;AmplifyShaderEditor.WireNode;429;-14.69786,1644.629;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;430;-14.69786,1707.374;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;431;-12.73718,1785.806;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;433;-14.69804,1350.512;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;426;368.3667,1468.948;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;25;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;426;368.3667,1468.948;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_CorneaShaderParallax_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;25;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;219;0;72;0 WireConnection;71;0;69;0 WireConnection;71;1;220;0 @@ -474,4 +489,4 @@ WireConnection;426;4;429;0 WireConnection;426;5;430;0 WireConnection;426;7;431;0 ASEEND*/ -//CHKSM=16DC6331E20FB8B1410C9999780939DEE1F58314 \ No newline at end of file +//CHKSM=4C7085ACDEA0733DF011C0D33FE54A40F3994189 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Baked_3D_Tessellation.shader index 6fdbdd1..f6e4b8f 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Baked_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" { @@ -50,6 +50,13 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" #pragma target 4.6 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -80,24 +87,28 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -109,8 +120,9 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _AlphaClip2; uniform float _EdgeLength; @@ -145,19 +157,19 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g857 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g857 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g857 = lerp( break109_g857.g , ( 1.0 - break109_g857.g ) , _FlowMapFlipGreen); half3 appendResult98_g857 = (half3(break109_g857.r , lerpResult123_g857 , break109_g857.b)); half3 flowTangent107_g857 = (WorldNormalVector( i , ( ( appendResult98_g857 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g857 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g857 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g860 = normalize( ( flowTangent107_g857 + ( worldNormal86_g857 * lerpResult81_g857 ) ) ); half3 shiftedTangent119_g857 = normalizeResult10_g860; @@ -175,11 +187,11 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" half dotResult16_g859 = dot( shiftedTangent119_g857 , normalizeResult14_g859 ); half smoothstepResult22_g859 = smoothstep( -1.0 , 0.0 , dotResult16_g859); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g857 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g857 = ( max( ( ( 2.0 / ( temp_output_233_0_g857 * temp_output_233_0_g857 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask647 = tex2DNode617.a; half dotResult266_g857 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g857 ); half translucencyWrap283_g857 = _Translucency; @@ -217,7 +229,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip2); - c.rgb = ( staticSwitch250_g857 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g857 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -329,7 +341,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;13;610;19;518;106;105;331;107;112;113;104;648;380;651;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;10;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -393,7 +405,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;453.1596,1384.007;Inherit;False;518 Node;AmplifyShaderEditor.RangedFloatNode;162;345.7961,1470.618;Inherit;False;Property;_AlphaClip2;Alpha Clip;15;0;Create;False;0;0;0;False;0;False;0.15;1;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;573.7153,1159.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;646;760.0784,1265.975;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1009.693,1191.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1009.693,1191.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;107;0;105;0 WireConnection;107;1;106;0 @@ -446,4 +458,4 @@ WireConnection;646;2;162;0 WireConnection;644;9;521;0 WireConnection;644;13;646;0 ASEEND*/ -//CHKSM=F916BC805300A6D9C93D1CFB1346FACFFB26AC09 \ No newline at end of file +//CHKSM=B9E63DB9DBBAB2FF501335E1A6F186E850BE7B9B \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Variants_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Variants_3D_Tessellation.shader index 454c461..e501db2 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Variants_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_1st_Pass_Variants_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" { @@ -80,6 +80,19 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -110,39 +123,40 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -167,8 +181,9 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; uniform float _EdgeLength; @@ -212,20 +227,20 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g880 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g880 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g880 = lerp( break109_g880.g , ( 1.0 - break109_g880.g ) , _FlowMapFlipGreen); half3 appendResult98_g880 = (half3(break109_g880.r , lerpResult123_g880 , break109_g880.b)); half3 flowTangent107_g880 = (WorldNormalVector( i , ( ( appendResult98_g880 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g880 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g880 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g883 = normalize( ( flowTangent107_g880 + ( worldNormal86_g880 * lerpResult81_g880 ) ) ); half3 shiftedTangent119_g880 = normalizeResult10_g883; @@ -243,7 +258,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" half dotResult16_g882 = dot( shiftedTangent119_g880 , normalizeResult14_g882 ); half smoothstepResult22_g882 = smoothstep( -1.0 , 0.0 , dotResult16_g882); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness587 = lerpResult128; @@ -254,12 +269,12 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" half translucencyWrap283_g880 = _Translucency; half lambertMask290_g880 = saturate( ( ( dotResult266_g880 * ( 1.0 - translucencyWrap283_g880 ) ) + translucencyWrap283_g880 ) ); half temp_output_84_0_g881 = lambertMask290_g880; - half4 temp_output_13_0_g881 = ( ( smoothstepResult22_g882 * pow( saturate( ( 1.0 - ( dotResult16_g882 * dotResult16_g882 ) ) ) , specularPower237_g880 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g881 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g881 = ( ( smoothstepResult22_g882 * pow( saturate( ( 1.0 - ( dotResult16_g882 * dotResult16_g882 ) ) ) , specularPower237_g880 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g881 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g773 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g773 = root58; half lerpResult50_g773 = lerp( temp_output_55_0_g773 , ( 1.0 - temp_output_55_0_g773 ) , _InvertRootMap); half4 lerpResult44_g773 = lerp( _RootColor , _EndColor , lerpResult50_g773); @@ -284,7 +299,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -318,7 +333,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip); - c.rgb = ( staticSwitch250_g880 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g880 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -430,7 +445,7 @@ Shader "Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.SamplerNode;26;-5664.931,1926.134;Inherit;True;Property;_RootMap;Root Map;39;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -541,7 +556,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;162;329.1628,1539.112;Inherit;False;Pro Node;AmplifyShaderEditor.GetLocalVarNode;521;426.9197,1435.96;Inherit;False;518;alpha;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;545.9501,1150.29;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;594;767.923,1304.107;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;593;1156.928,1176.715;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;1;False;;3;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;593;1156.928,1176.715;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_1st_Pass_Variants_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;1;False;;3;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.FunctionNode;629;-114.9783,0.531311;Inherit;False;RL_Amplify_Function_Hair_AnisotropicLighting_3D;-1;;880;1c2ce0d33e6d0364e94912a58b37cdd2;2,264,0,88,0;19;42;COLOR;1,1,1,0;False;161;FLOAT;1;False;178;FLOAT;1;False;84;FLOAT3;0,0,1;False;26;FLOAT3;0,0,1;False;131;COLOR;1,1,1,0;False;7;FLOAT;50;False;172;FLOAT;0;False;132;FLOAT;1;False;245;FLOAT;2;False;108;COLOR;0,0,0,0;False;112;FLOAT;0;False;71;FLOAT;0.5;False;75;FLOAT;-0.1;False;80;FLOAT;0.1;False;282;FLOAT;0;False;207;FLOAT;0;False;208;FLOAT;0;False;310;FLOAT;1;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;613;-198.6324,680.7527;Inherit;False;518;alpha;1;0;OBJECT;;False;1;FLOAT;0 WireConnection;58;0;26;1 @@ -642,4 +657,4 @@ WireConnection;629;207;265;0 WireConnection;629;208;263;0 WireConnection;629;310;613;0 ASEEND*/ -//CHKSM=02342A45C6D2D00786BF3B6CB32F6C573285C1DB \ No newline at end of file +//CHKSM=746D51C598483D1C99F6ADC20E4260A87D67503D \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Baked_3D_Tessellation.shader index 5b77cd1..8d56ca9 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Baked_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" { @@ -53,6 +53,13 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" #pragma target 4.6 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -83,24 +90,28 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -112,8 +123,9 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -147,19 +159,19 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g853 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g853 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g853 = lerp( break109_g853.g , ( 1.0 - break109_g853.g ) , _FlowMapFlipGreen); half3 appendResult98_g853 = (half3(break109_g853.r , lerpResult123_g853 , break109_g853.b)); half3 flowTangent107_g853 = (WorldNormalVector( i , ( ( appendResult98_g853 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g853 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g853 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g856 = normalize( ( flowTangent107_g853 + ( worldNormal86_g853 * lerpResult81_g853 ) ) ); half3 shiftedTangent119_g853 = normalizeResult10_g856; @@ -177,11 +189,11 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" half dotResult16_g855 = dot( shiftedTangent119_g853 , normalizeResult14_g855 ); half smoothstepResult22_g855 = smoothstep( -1.0 , 0.0 , dotResult16_g855); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g853 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g853 = ( max( ( ( 2.0 / ( temp_output_233_0_g853 * temp_output_233_0_g853 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask647 = tex2DNode617.a; half dotResult266_g853 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g853 ); half translucencyWrap283_g853 = _Translucency; @@ -219,7 +231,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05); - c.rgb = ( staticSwitch250_g853 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g853 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -331,7 +343,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;11;610;19;518;106;105;331;107;112;113;104;380;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;10;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -395,7 +407,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;495.1596,1439.007;Inherit;False;518 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;644;413.7899,1541.393;Inherit;False;Constant;_TransparencyAlphaClip0;Transparency Alpha Clip 0;49;0;Create;True;0;0;0;False;0;False;0.05;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ClipNode;646;776.3019,1291.364;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;645;1031.346,1247.088;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;1;alpha:blend;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;645;1031.346,1247.088;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;1;alpha:blend;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;107;0;105;0 WireConnection;107;1;106;0 @@ -448,4 +460,4 @@ WireConnection;646;2;644;0 WireConnection;645;9;521;0 WireConnection;645;13;646;0 ASEEND*/ -//CHKSM=FB16B9A75C04C5FA59158E133D9D6E3827944E3D \ No newline at end of file +//CHKSM=4710D08FFE354224C665700771A8324DE83696A2 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Variants_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Variants_3D_Tessellation.shader index 31e271e..9b3b109 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Variants_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_2nd_Pass_Variants_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" { @@ -80,6 +80,19 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustomLighting keepalpha noshadow nometa vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength alpha:fade struct Input { @@ -103,39 +116,40 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPower; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -160,8 +174,9 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -204,20 +219,20 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g958 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g958 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g958 = lerp( break109_g958.g , ( 1.0 - break109_g958.g ) , _FlowMapFlipGreen); half3 appendResult98_g958 = (half3(break109_g958.r , lerpResult123_g958 , break109_g958.b)); half3 flowTangent107_g958 = (WorldNormalVector( i , ( ( appendResult98_g958 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g958 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g958 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g961 = normalize( ( flowTangent107_g958 + ( worldNormal86_g958 * lerpResult81_g958 ) ) ); half3 shiftedTangent119_g958 = normalizeResult10_g961; @@ -235,7 +250,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" half dotResult16_g960 = dot( shiftedTangent119_g958 , normalizeResult14_g960 ); half smoothstepResult22_g960 = smoothstep( -1.0 , 0.0 , dotResult16_g960); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness601 = lerpResult128; @@ -246,12 +261,12 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" half translucencyWrap283_g958 = _Translucency; half lambertMask290_g958 = saturate( ( ( dotResult266_g958 * ( 1.0 - translucencyWrap283_g958 ) ) + translucencyWrap283_g958 ) ); half temp_output_84_0_g959 = lambertMask290_g958; - half4 temp_output_13_0_g959 = ( ( smoothstepResult22_g960 * pow( saturate( ( 1.0 - ( dotResult16_g960 * dotResult16_g960 ) ) ) , specularPower237_g958 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g959 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g959 = ( ( smoothstepResult22_g960 * pow( saturate( ( 1.0 - ( dotResult16_g960 * dotResult16_g960 ) ) ) , specularPower237_g958 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g959 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g842 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g842 = root58; half lerpResult50_g842 = lerp( temp_output_55_0_g842 , ( 1.0 - temp_output_55_0_g842 ) , _InvertRootMap); half4 lerpResult44_g842 = lerp( _RootColor , _EndColor , lerpResult50_g842); @@ -276,7 +291,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -310,7 +325,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05882353); - c.rgb = ( staticSwitch250_g958 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g958 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -330,7 +345,7 @@ Shader "Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation" } } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.SamplerNode;26;-5664.931,1926.134;Inherit;True;Property;_RootMap;Root Map;38;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -444,7 +459,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;472.1129,1407.031;Inherit;False;518 Node;AmplifyShaderEditor.RangedFloatNode;578;373.4657,1503.249;Inherit;False;Constant;_TransparencyAlphaClip0;Transparency Alpha Clip 0;49;0;Create;True;0;0;0;False;0;False;0.05882353;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;668.0759,1164.947;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;612;829.2889,1249.731;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;611;1122.054,1161.637;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;1;Custom;0;True;False;0;True;Transparent;AlphaZLess;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;False;2;5;False;;10;False;;0;7;False;;8;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;1;alpha:fade;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;611;1122.054,1161.637;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_2nd_Pass_Variants_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;2;False;;1;False;;False;0;False;;0;False;;False;1;Custom;0;True;False;0;True;Transparent;AlphaZLess;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;False;2;5;False;;10;False;;0;7;False;;8;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;1;alpha:fade;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;58;0;26;1 WireConnection;517;0;19;0 WireConnection;523;52;519;0 @@ -544,4 +559,4 @@ WireConnection;612;2;578;0 WireConnection;611;9;521;0 WireConnection;611;13;612;0 ASEEND*/ -//CHKSM=0A8B8BD591F4C872C139918E78C54C4195C30FFD \ No newline at end of file +//CHKSM=05A8A63451139A7EB255BAB7C874A6F4DC5F32FA \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Baked_3D_Tessellation.shader index c0886b4..efc24a1 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Baked_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" { @@ -52,6 +52,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" #pragma shader_feature_local _CLIPQUALITY_STANDARD _CLIPQUALITY_DITHERED #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -83,24 +96,28 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -112,8 +129,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _AlphaClip2; uniform float _EdgeLength; @@ -164,19 +182,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_521_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g853 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g853 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g853 = lerp( break109_g853.g , ( 1.0 - break109_g853.g ) , _FlowMapFlipGreen); half3 appendResult98_g853 = (half3(break109_g853.r , lerpResult123_g853 , break109_g853.b)); half3 flowTangent107_g853 = (WorldNormalVector( i , ( ( appendResult98_g853 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g853 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g853 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g856 = normalize( ( flowTangent107_g853 + ( worldNormal86_g853 * lerpResult81_g853 ) ) ); half3 shiftedTangent119_g853 = normalizeResult10_g856; @@ -194,11 +212,11 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" half dotResult16_g855 = dot( shiftedTangent119_g853 , normalizeResult14_g855 ); half smoothstepResult22_g855 = smoothstep( -1.0 , 0.0 , dotResult16_g855); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g853 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g853 = ( max( ( ( 2.0 / ( temp_output_233_0_g853 * temp_output_233_0_g853 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask646 = tex2DNode617.a; half dotResult266_g853 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g853 ); half translucencyWrap283_g853 = _Translucency; @@ -249,7 +267,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" half staticSwitch528 = localUnityHDRPDither175; #endif clip( alpha518 - staticSwitch528); - c.rgb = ( staticSwitch250_g853 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g853 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_521_0; return c; } @@ -364,7 +382,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;10;610;19;518;106;105;331;107;112;113;104;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;10;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -431,7 +449,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;521;524.1596,1439.007;Inherit;False;518 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.StaticSwitch;528;467.0161,1554.153;Inherit;False;Property;_ClipQuality;Clip Quality;14;0;Create;True;0;0;0;False;0;False;0;1;1;True;;KeywordEnum;2;Standard;Dithered;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ClipNode;645;805.3989,1276.367;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1078.293,1172.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;644;1078.293,1172.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;610;0;19;0 WireConnection;107;0;105;0 @@ -488,4 +506,4 @@ WireConnection;645;2;528;0 WireConnection;644;9;521;0 WireConnection;644;13;645;0 ASEEND*/ -//CHKSM=76DE86CE12F91BE0D18B6E4D1F90A45BFB844D5F \ No newline at end of file +//CHKSM=0433559C51CADD5C3915126589C1A4DEE7A11717 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Clipped_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Clipped_3D_Tessellation.shader index 0a8b7ac..7778f7c 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Clipped_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Clipped_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" { @@ -80,6 +80,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" #pragma shader_feature_local _CLIPQUALITY_STANDARD _CLIPQUALITY_DITHERED #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -111,39 +124,40 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -168,8 +182,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; uniform float _EdgeLength; @@ -228,19 +243,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g1030 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g1030 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g1030 = lerp( break109_g1030.g , ( 1.0 - break109_g1030.g ) , _FlowMapFlipGreen); half3 appendResult98_g1030 = (half3(break109_g1030.r , lerpResult123_g1030 , break109_g1030.b)); half3 flowTangent107_g1030 = (WorldNormalVector( i , ( ( appendResult98_g1030 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g1030 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g1030 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g1033 = normalize( ( flowTangent107_g1030 + ( worldNormal86_g1030 * lerpResult81_g1030 ) ) ); half3 shiftedTangent119_g1030 = normalizeResult10_g1033; @@ -258,7 +273,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" half dotResult16_g1032 = dot( shiftedTangent119_g1030 , normalizeResult14_g1032 ); half smoothstepResult22_g1032 = smoothstep( -1.0 , 0.0 , dotResult16_g1032); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness594 = lerpResult128; @@ -269,12 +284,12 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" half translucencyWrap283_g1030 = _Translucency; half lambertMask290_g1030 = saturate( ( ( dotResult266_g1030 * ( 1.0 - translucencyWrap283_g1030 ) ) + translucencyWrap283_g1030 ) ); half temp_output_84_0_g1031 = lambertMask290_g1030; - half4 temp_output_13_0_g1031 = ( ( smoothstepResult22_g1032 * pow( saturate( ( 1.0 - ( dotResult16_g1032 * dotResult16_g1032 ) ) ) , specularPower237_g1030 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g1031 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g1031 = ( ( smoothstepResult22_g1032 * pow( saturate( ( 1.0 - ( dotResult16_g1032 * dotResult16_g1032 ) ) ) , specularPower237_g1030 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g1031 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g786 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g786 = root58; half lerpResult50_g786 = lerp( temp_output_55_0_g786 , ( 1.0 - temp_output_55_0_g786 ) , _InvertRootMap); half4 lerpResult44_g786 = lerp( _RootColor , _EndColor , lerpResult50_g786); @@ -299,7 +314,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -346,7 +361,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" half staticSwitch528 = _AlphaClip; #endif clip( alpha518 - staticSwitch528); - c.rgb = ( staticSwitch250_g1030 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g1030 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = alpha518; return c; } @@ -462,7 +477,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation" CustomEditor "Reallusion.Import.CustomHairShaderGUI" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;19;-5671.535,923.5991;Inherit;True;Property;_DiffuseMap;Diffuse Map;6;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -576,7 +591,7 @@ Node;AmplifyShaderEditor.WireNode;619;843.0594,1511.796;Inherit;False;1;0;FLOAT; Node;AmplifyShaderEditor.RangedFloatNode;140;-1810.923,789.8129;Inherit;False;Property;_NormalStrength;Normal Strength;23;0;Create;True;0;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;282;-1114.089,709.7084;Inherit;False;normal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.ClipNode;608;808.0734,1249.929;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1076.754,1073.793;Half;False;True;-1;6;Reallusion.Import.CustomHairShaderGUI;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1076.754,1073.793;Half;False;True;-1;6;Reallusion.Import.CustomHairShaderGUI;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Clipped_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.GetLocalVarNode;569;-590.8998,-125.8811;Inherit;False;282;normal;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SamplerNode;139;-1484.06,640.5557;Inherit;True;Property;_NormalMap;Normal Map;22;0;Create;True;0;0;0;False;0;False;19;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CustomExpressionNode;175;101.3107,1748.551;Inherit;False;half2 uv = ScreenPosition.xy * _ScreenParams.xy@$half DITHER_THRESHOLDS[16] =${$ 1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0,$ 13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0,$ 4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0,$ 16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0$}@$uint index = (uint(uv.x) % 4) * 4 + uint(uv.y) % 4@$return In - DITHER_THRESHOLDS[index]@;1;Create;2;True;In;FLOAT;0;In;;Inherit;False;True;ScreenPosition;FLOAT2;0,0;In;;Inherit;False;Unity HDRP Dither;True;False;0;;False;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT;0 @@ -684,4 +699,4 @@ WireConnection;687;207;265;0 WireConnection;687;208;263;0 WireConnection;687;310;686;0 ASEEND*/ -//CHKSM=DD4F59C56D20143C22061138356C26128E0F5C66 \ No newline at end of file +//CHKSM=E0806F285CC96B32FB3FDC67B4A323E215C3D9E9 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_3D_Tessellation.shader index 8e107d1..24630c3 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" { @@ -79,6 +79,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" #pragma shader_feature_local BOOLEAN_ENABLECOLOR_ON #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex.SampleLevel(samplerTex,coord, lod) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex.SampleBias(samplerTex,coord,bias) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex.SampleGrad(samplerTex,coord,ddx,ddy) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #define SAMPLE_TEXTURE2D_LOD(tex,samplerTex,coord,lod) tex2Dlod(tex,float4(coord,0,lod)) + #define SAMPLE_TEXTURE2D_BIAS(tex,samplerTex,coord,bias) tex2Dbias(tex,float4(coord,0,bias)) + #define SAMPLE_TEXTURE2D_GRAD(tex,samplerTex,coord,ddx,ddy) tex2Dgrad(tex,coord,ddx,ddy) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -109,39 +122,40 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _AlphaRemap; uniform half _AlphaPower; - uniform sampler2D _FlowMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; uniform half _NormalStrength; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; uniform half _SmoothnessMin; uniform half _SmoothnessMax; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; uniform half _SmoothnessPower; uniform half _SpecularPowerScale; - uniform sampler2D _SpecularMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpecularMap); uniform half4 _SpecularMap_ST; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; uniform half4 _DiffuseColor; - uniform sampler2D _BlendMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlendMap); uniform half4 _BlendMap_ST; uniform half _DiffuseStrength; uniform half _BaseColorStrength; uniform half4 _RootColor; uniform half4 _EndColor; - uniform sampler2D _RootMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RootMap); uniform half4 _RootMap_ST; uniform half _InvertRootMap; uniform half _RootColorStrength; @@ -166,8 +180,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _AOStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; uniform half _AlphaClip; uniform float _EdgeLength; @@ -211,19 +226,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode19 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half saferPower23 = abs( saturate( ( tex2DNode19.a / _AlphaRemap ) ) ); half alpha518 = pow( saferPower23 , _AlphaPower ); float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g847 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g847 = SAMPLE_TEXTURE2D( _FlowMap, sampler_DiffuseMap, uv_FlowMap ); half lerpResult123_g847 = lerp( break109_g847.g , ( 1.0 - break109_g847.g ) , _FlowMapFlipGreen); half3 appendResult98_g847 = (half3(break109_g847.r , lerpResult123_g847 , break109_g847.b)); half3 flowTangent107_g847 = (WorldNormalVector( i , ( ( appendResult98_g847 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), _NormalStrength ); half3 worldNormal86_g847 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_DiffuseMap, uv_IDMap ).r; half lerpResult81_g847 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g850 = normalize( ( flowTangent107_g847 + ( worldNormal86_g847 * lerpResult81_g847 ) ) ); half3 shiftedTangent119_g847 = normalizeResult10_g850; @@ -241,7 +256,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" half dotResult16_g849 = dot( shiftedTangent119_g847 , normalizeResult14_g849 ); half smoothstepResult22_g849 = smoothstep( -1.0 , 0.0 , dotResult16_g849); float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode115 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode115 = SAMPLE_TEXTURE2D( _MaskMap, sampler_DiffuseMap, uv_MaskMap ); half saferPower126 = abs( tex2DNode115.a ); half lerpResult128 = lerp( _SmoothnessMin , _SmoothnessMax , pow( saferPower126 , _SmoothnessPower )); half smoothness594 = lerpResult128; @@ -252,12 +267,12 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" half translucencyWrap283_g847 = _Translucency; half lambertMask290_g847 = saturate( ( ( dotResult266_g847 * ( 1.0 - translucencyWrap283_g847 ) ) + translucencyWrap283_g847 ) ); half temp_output_84_0_g848 = lambertMask290_g847; - half4 temp_output_13_0_g848 = ( ( smoothstepResult22_g849 * pow( saturate( ( 1.0 - ( dotResult16_g849 * dotResult16_g849 ) ) ) , specularPower237_g847 ) ) * ( tex2D( _SpecularMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g848 * _SpecularTint * alpha518 ); + half4 temp_output_13_0_g848 = ( ( smoothstepResult22_g849 * pow( saturate( ( 1.0 - ( dotResult16_g849 * dotResult16_g849 ) ) ) , specularPower237_g847 ) ) * ( SAMPLE_TEXTURE2D( _SpecularMap, sampler_DiffuseMap, uv_SpecularMap ).g * _SpecularMultiplier ) * temp_output_84_0_g848 * _SpecularTint * alpha518 ); float2 uv_BlendMap = i.uv_texcoord * _BlendMap_ST.xy + _BlendMap_ST.zw; half4 diffuseMap517 = tex2DNode19; half4 lerpResult41_g786 = lerp( float4( 1,1,1,0 ) , diffuseMap517 , _BaseColorStrength); float2 uv_RootMap = i.uv_texcoord * _RootMap_ST.xy + _RootMap_ST.zw; - half root58 = tex2D( _RootMap, uv_RootMap ).r; + half root58 = SAMPLE_TEXTURE2D( _RootMap, sampler_DiffuseMap, uv_RootMap ).r; half temp_output_55_0_g786 = root58; half lerpResult50_g786 = lerp( temp_output_55_0_g786 , ( 1.0 - temp_output_55_0_g786 ) , _InvertRootMap); half4 lerpResult44_g786 = lerp( _RootColor , _EndColor , lerpResult50_g786); @@ -282,7 +297,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" #else half4 staticSwitch95 = diffuseMap517; #endif - half4 blendOpSrc101 = tex2D( _BlendMap, uv_BlendMap ); + half4 blendOpSrc101 = SAMPLE_TEXTURE2D( _BlendMap, sampler_DiffuseMap, uv_BlendMap ); half4 blendOpDest101 = ( _DiffuseStrength * staticSwitch95 ); half4 lerpBlendMode101 = lerp(blendOpDest101,( blendOpSrc101 * blendOpDest101 ),_BlendStrength); half4 lerpResult112 = lerp( ( saturate( lerpBlendMode101 )) , _VertexBaseColor , ( ( 1.0 - i.vertexColor.r ) * _VertexColorStrength )); @@ -316,7 +331,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - _AlphaClip); - c.rgb = ( staticSwitch250_g847 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; + c.rgb = ( staticSwitch250_g847 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ) ).rgb; c.a = alpha518; return c; } @@ -429,7 +444,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;25;-5721.536,873.5989;Inherit;False;1176.518;561.6434;;8;518;517;23;22;24;21;20;19;Diffuse & Alpha;0.5235849,1,0.631946,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;512;-5718.366,1661.348;Inherit;False;696.6748;494.7862;;4;26;58;383;50;Maps;0.504717,0.9903985,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;19;-5671.535,923.5991;Inherit;True;Property;_DiffuseMap;Diffuse Map;6;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 @@ -544,7 +559,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;162;323.5584,1580.746;Inherit;False;Pro Node;AmplifyShaderEditor.StickyNoteNode;620;-1675.903,-988.307;Inherit;False;552.87;127.4675;Alpha Clip Coverage Hair Shader;Notes;1,1,1,1;Uses MSAA for better single pass alpha blending. Requires MSAA to be enabled.;0;0 Node;AmplifyShaderEditor.ClipNode;621;780.1022,1296.245;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;619;843.0594,1511.796;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1078.876,1072.732;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;597;1078.876,1072.732;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverage_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;1;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;58;0;26;1 WireConnection;517;0;19;0 WireConnection;523;52;519;0 @@ -644,4 +659,4 @@ WireConnection;619;0;521;0 WireConnection;597;9;619;0 WireConnection;597;13;621;0 ASEEND*/ -//CHKSM=695A1D7986A0CB41EE7A381B41451922CD622313 \ No newline at end of file +//CHKSM=C5821344D3E1DB20219EA1A9B3AA7E5AECC6BD82 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_Baked_3D_Tessellation.shader index 791e0a9..c058231 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HairShader_Coverage_Baked_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" { @@ -50,6 +50,13 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" #pragma target 4.6 #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector @@ -80,24 +87,28 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" UnityGIInput GIData; }; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _FlowMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FlowMap); uniform half4 _FlowMap_ST; uniform half _FlowMapFlipGreen; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; uniform half _SpecularShiftMin; uniform half _SpecularShiftMax; - uniform sampler2D _IDMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IDMap); uniform half4 _IDMap_ST; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _SpecularPowerScale; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _SpecularMultiplier; uniform half _Translucency; uniform half4 _SpecularTint; @@ -109,8 +120,9 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" uniform half _RimTransmissionIntensity; uniform half _OcclusionStrength; uniform half _AOOccludeAll; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -144,19 +156,19 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode19 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode19 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half alpha518 = tex2DNode19.a; half temp_output_645_0 = alpha518; float2 uv_FlowMap = i.uv_texcoord * _FlowMap_ST.xy + _FlowMap_ST.zw; - half4 break109_g857 = tex2D( _FlowMap, uv_FlowMap ); + half4 break109_g857 = SAMPLE_TEXTURE2D( _FlowMap, sampler_MainTex, uv_FlowMap ); half lerpResult123_g857 = lerp( break109_g857.g , ( 1.0 - break109_g857.g ) , _FlowMapFlipGreen); half3 appendResult98_g857 = (half3(break109_g857.r , lerpResult123_g857 , break109_g857.b)); half3 flowTangent107_g857 = (WorldNormalVector( i , ( ( appendResult98_g857 * float3( 2,2,2 ) ) - float3( 1,1,1 ) ) )); float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normal282 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ); + half3 normal282 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); half3 worldNormal86_g857 = normalize( (WorldNormalVector( i , normal282 )) ); float2 uv_IDMap = i.uv_texcoord * _IDMap_ST.xy + _IDMap_ST.zw; - half idMap383 = tex2D( _IDMap, uv_IDMap ).r; + half idMap383 = SAMPLE_TEXTURE2D( _IDMap, sampler_MainTex, uv_IDMap ).r; half lerpResult81_g857 = lerp( _SpecularShiftMin , _SpecularShiftMax , idMap383); half3 normalizeResult10_g860 = normalize( ( flowTangent107_g857 + ( worldNormal86_g857 * lerpResult81_g857 ) ) ); half3 shiftedTangent119_g857 = normalizeResult10_g860; @@ -174,11 +186,11 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" half dotResult16_g859 = dot( shiftedTangent119_g857 , normalizeResult14_g859 ); half smoothstepResult22_g859 = smoothstep( -1.0 , 0.0 , dotResult16_g859); float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half smoothness643 = ( tex2D( _MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); + half smoothness643 = ( SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ).a * _GlossMapScale ); half temp_output_233_0_g857 = max( ( 1.0 - smoothness643 ) , 0.001 ); half specularPower237_g857 = ( max( ( ( 2.0 / ( temp_output_233_0_g857 * temp_output_233_0_g857 ) ) - 2.0 ) , 0.001 ) * _SpecularPowerScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - half4 tex2DNode617 = tex2D( _OcclusionMap, uv_OcclusionMap ); + half4 tex2DNode617 = SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ); half specularMask652 = tex2DNode617.a; half dotResult266_g857 = dot( normalize( (WorldNormalVector( i , normal282 )) ) , worldLight272_g857 ); half translucencyWrap283_g857 = _Translucency; @@ -216,7 +228,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" #endif float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; clip( alpha518 - 0.05); - c.rgb = ( staticSwitch250_g857 + ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; + c.rgb = ( staticSwitch250_g857 + ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ) ).rgb; c.a = temp_output_645_0; return c; } @@ -329,7 +341,7 @@ Shader "Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;121;-2209.837,-395.2434;Inherit;False;1295.191;809.48;;14;610;19;518;106;105;331;107;112;113;104;656;380;657;658;Final Color Blending;0.514151,1,0.6056049,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;104;-2146.046,182.9718;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;106;-1944.258,290.4149;Inherit;False;Property;_VertexColorStrength;Vertex Color Strength;10;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 @@ -393,7 +405,7 @@ Node;AmplifyShaderEditor.GetLocalVarNode;645;481.2044,1409.81;Inherit;False;518; Node;AmplifyShaderEditor.RangedFloatNode;646;376.7883,1493.883;Inherit;False;Constant;_ConstAlphaClip;Const Alpha Clip;50;0;Create;True;0;0;0;False;0;False;0.05;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;574;638.7153,1173.22;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.ClipNode;651;830.4156,1281.184;Inherit;False;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;650;1118.693,1230.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;650;1118.693,1230.645;Half;False;True;-1;6;;0;0;CustomLighting;Reallusion/Amplify/RL_HairShader_Coverge_Baked_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;0;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;105;0;104;1 WireConnection;610;0;19;0 WireConnection;107;0;105;0 @@ -446,4 +458,4 @@ WireConnection;651;2;646;0 WireConnection;650;9;645;0 WireConnection;650;13;651;0 ASEEND*/ -//CHKSM=D54D6C7591A42115815CB3DFEA39D56DA1F7E398 \ No newline at end of file +//CHKSM=9219B4CA21CA6B6C17490B59F6349EB7A808BC7D \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HeadShaderWrinkle_Baked_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HeadShaderWrinkle_Baked_3D_Tessellation.shader index ddab2f7..e3e6d1c 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_HeadShaderWrinkle_Baked_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_HeadShaderWrinkle_Baked_3D_Tessellation.shader @@ -42,6 +42,7 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" _WrinkleDiffuseBlend2("Wrinkle Diffuse Blend 2", 2D) = "white" {} _WrinkleDiffuseBlend3("Wrinkle Diffuse Blend 3", 2D) = "white" {} _WrinkleSmoothnessPack("Wrinkle Smoothness Pack", 2D) = "gray" {} + _WrinkleFlowPack("Wrinkle Flow Pack", 2D) = "white" {} [Normal]_WrinkleNormalBlend1("Wrinkle Normal Blend 1", 2D) = "bump" {} [Normal]_WrinkleNormalBlend2("Wrinkle Normal Blend 2", 2D) = "bump" {} [Normal]_WrinkleNormalBlend3("Wrinkle Normal Blend 3", 2D) = "bump" {} @@ -115,6 +116,8 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" uniform half4 _WrinkleValueSet1AR; uniform half4 _WrinkleValueSet1BR; uniform half4 _WrinkleValueSet12CR; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowPack); + uniform half4 _WrinkleFlowPack_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend2); uniform half4 _WrinkleNormalBlend2_ST; uniform half4 _WrinkleValueSet2L; @@ -226,10 +229,11 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" void surf( Input i , inout SurfaceOutputStandardCustom o ) { float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - half3 normalMap218 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ); + half normalMapScale259 = _BumpScale; + half3 normalMap218 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), normalMapScale259 ); float2 uv_WrinkleNormalBlend1 = i.uv_texcoord * _WrinkleNormalBlend1_ST.xy + _WrinkleNormalBlend1_ST.zw; - half temp_output_1_0_g21 = 0.49; - half leftMask27_g17 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g21 ) / ( 0.51 - temp_output_1_0_g21 ) ) ); + half temp_output_1_0_g19 = 0.49; + half leftMask27_g17 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g19 ) / ( 0.51 - temp_output_1_0_g19 ) ) ); half4 break107_g17 = _WrinkleValueSet12CL; half2 appendResult112_g17 = (half2(break107_g17.x , break107_g17.y)); float2 uv_WrinkleMaskSet123 = i.uv_texcoord * _WrinkleMaskSet123_ST.xy + _WrinkleMaskSet123_ST.zw; @@ -249,10 +253,14 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" half2 appendResult117_g17 = (half2(break108_g17.x , break108_g17.y)); half dotResult122_g17 = dot( appendResult115_g17 , appendResult117_g17 ); half value1CRight136_g17 = dotResult122_g17; - half temp_output_1_0_g20 = 0.51; - half rightMask28_g17 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g20 ) / ( 0.49 - temp_output_1_0_g20 ) ) ); - half temp_output_16_0_g22 = ( ( leftMask27_g17 * ( value1CLeft135_g17 + dotResult29_g17 + dotResult35_g17 ) ) + ( ( dotResult30_g17 + dotResult36_g17 + value1CRight136_g17 ) * rightMask28_g17 ) ); - half3 lerpResult19_g22 = lerp( normalMap218 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), (0) ) , temp_output_16_0_g22); + half temp_output_1_0_g18 = 0.51; + half rightMask28_g17 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g18 ) / ( 0.49 - temp_output_1_0_g18 ) ) ); + half temp_output_16_0_g63 = ( ( leftMask27_g17 * ( value1CLeft135_g17 + dotResult29_g17 + dotResult35_g17 ) ) + ( ( dotResult30_g17 + dotResult36_g17 + value1CRight136_g17 ) * rightMask28_g17 ) ); + half temp_output_1_0_g64 = 0.0; + float2 uv_WrinkleFlowPack = i.uv_texcoord * _WrinkleFlowPack_ST.xy + _WrinkleFlowPack_ST.zw; + half4 tex2DNode260 = SAMPLE_TEXTURE2D( _WrinkleFlowPack, sampler_Linear_Repeat, uv_WrinkleFlowPack ); + half temp_output_23_0_g63 = ( saturate( ( ( temp_output_16_0_g63 - temp_output_1_0_g64 ) / ( tex2DNode260.r - temp_output_1_0_g64 ) ) ) * temp_output_16_0_g63 ); + half3 lerpResult19_g63 = lerp( normalMap218 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalMapScale259 ) , temp_output_23_0_g63); float2 uv_WrinkleNormalBlend2 = i.uv_texcoord * _WrinkleNormalBlend2_ST.xy + _WrinkleNormalBlend2_ST.zw; half2 appendResult113_g17 = (half2(break107_g17.z , break107_g17.w)); half2 appendResult114_g17 = (half2(break109_g17.z , break109_g17.w)); @@ -265,8 +273,10 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" half2 appendResult116_g17 = (half2(break108_g17.z , break108_g17.w)); half dotResult124_g17 = dot( appendResult114_g17 , appendResult116_g17 ); half value2CRight138_g17 = dotResult124_g17; - half temp_output_16_0_g18 = ( ( leftMask27_g17 * ( value2CLeft137_g17 + dotResult41_g17 ) ) + ( ( dotResult42_g17 + value2CRight138_g17 ) * rightMask28_g17 ) ); - half3 lerpResult19_g18 = lerp( lerpResult19_g22 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), (0) ) , temp_output_16_0_g18); + half temp_output_16_0_g59 = ( ( leftMask27_g17 * ( value2CLeft137_g17 + dotResult41_g17 ) ) + ( ( dotResult42_g17 + value2CRight138_g17 ) * rightMask28_g17 ) ); + half temp_output_1_0_g60 = 0.0; + half temp_output_23_0_g59 = ( saturate( ( ( temp_output_16_0_g59 - temp_output_1_0_g60 ) / ( tex2DNode260.g - temp_output_1_0_g60 ) ) ) * temp_output_16_0_g59 ); + half3 lerpResult19_g59 = lerp( lerpResult19_g63 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalMapScale259 ) , temp_output_23_0_g59); float2 uv_WrinkleNormalBlend3 = i.uv_texcoord * _WrinkleNormalBlend3_ST.xy + _WrinkleNormalBlend3_ST.zw; half4 break118_g17 = _WrinkleValueSet3DB; half2 appendResult120_g17 = (half2(break118_g17.x , break118_g17.y)); @@ -279,9 +289,11 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" half2 appendResult119_g17 = (half2(break118_g17.z , break118_g17.w)); half dotResult128_g17 = dot( appendResult115_g17 , appendResult119_g17 ); half value3DRight130_g17 = dotResult128_g17; - half temp_output_16_0_g19 = ( ( leftMask27_g17 * ( value3DLeft129_g17 + dotResult47_g17 ) ) + ( ( dotResult48_g17 + value3DRight130_g17 ) * rightMask28_g17 ) ); - half3 lerpResult19_g19 = lerp( lerpResult19_g18 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), (0) ) , temp_output_16_0_g19); - half3 normalWrinkle231 = lerpResult19_g19; + half temp_output_16_0_g61 = ( ( leftMask27_g17 * ( value3DLeft129_g17 + dotResult47_g17 ) ) + ( ( dotResult48_g17 + value3DRight130_g17 ) * rightMask28_g17 ) ); + half temp_output_1_0_g62 = 0.0; + half temp_output_23_0_g61 = ( saturate( ( ( temp_output_16_0_g61 - temp_output_1_0_g62 ) / ( tex2DNode260.b - temp_output_1_0_g62 ) ) ) * temp_output_16_0_g61 ); + half3 lerpResult19_g61 = lerp( lerpResult19_g59 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalMapScale259 ) , temp_output_23_0_g61); + half3 normalWrinkle231 = lerpResult19_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half3 staticSwitch220 = normalWrinkle231; #else @@ -293,12 +305,12 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; half4 diffuseMap216 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); float2 uv_WrinkleDiffuseBlend1 = i.uv_texcoord * _WrinkleDiffuseBlend1_ST.xy + _WrinkleDiffuseBlend1_ST.zw; - half4 lerpResult17_g22 = lerp( diffuseMap216 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_16_0_g22); + half4 lerpResult17_g63 = lerp( diffuseMap216 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_23_0_g63); float2 uv_WrinkleDiffuseBlend2 = i.uv_texcoord * _WrinkleDiffuseBlend2_ST.xy + _WrinkleDiffuseBlend2_ST.zw; - half4 lerpResult17_g18 = lerp( lerpResult17_g22 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_16_0_g18); + half4 lerpResult17_g59 = lerp( lerpResult17_g63 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_23_0_g59); float2 uv_WrinkleDiffuseBlend3 = i.uv_texcoord * _WrinkleDiffuseBlend3_ST.xy + _WrinkleDiffuseBlend3_ST.zw; - half4 lerpResult17_g19 = lerp( lerpResult17_g18 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_16_0_g19); - half4 diffuseWrinkle229 = lerpResult17_g19; + half4 lerpResult17_g61 = lerp( lerpResult17_g59 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_23_0_g61); + half4 diffuseWrinkle229 = lerpResult17_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half4 staticSwitch217 = diffuseWrinkle229; #else @@ -314,10 +326,10 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" half smoothnessMap221 = tex2DNode150.a; float2 uv_WrinkleSmoothnessPack = i.uv_texcoord * _WrinkleSmoothnessPack_ST.xy + _WrinkleSmoothnessPack_ST.zw; half4 tex2DNode252 = SAMPLE_TEXTURE2D( _WrinkleSmoothnessPack, sampler_Linear_Repeat, uv_WrinkleSmoothnessPack ); - half lerpResult18_g22 = lerp( smoothnessMap221 , tex2DNode252.r , temp_output_16_0_g22); - half lerpResult18_g18 = lerp( lerpResult18_g22 , tex2DNode252.g , temp_output_16_0_g18); - half lerpResult18_g19 = lerp( lerpResult18_g18 , tex2DNode252.b , temp_output_16_0_g19); - half smoothnessWrinkle230 = lerpResult18_g19; + half lerpResult18_g63 = lerp( smoothnessMap221 , tex2DNode252.r , temp_output_23_0_g63); + half lerpResult18_g59 = lerp( lerpResult18_g63 , tex2DNode252.g , temp_output_23_0_g59); + half lerpResult18_g61 = lerp( lerpResult18_g59 , tex2DNode252.b , temp_output_23_0_g61); + half smoothnessWrinkle230 = lerpResult18_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half staticSwitch223 = smoothnessWrinkle230; #else @@ -341,7 +353,7 @@ Shader "Reallusion/Amplify/RL_HeadShaderWrinkle_Baked_3D_Tessellation" /*ASEBEGIN Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1654.055,1265.129;Inherit;False;1013.896;323.3456;Comment;5;172;171;169;170;151;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;176;-2205.917,-618.7704;Inherit;False;1549.638;654.7353;Comment;10;155;146;148;156;153;147;154;218;219;220;;1,1,1,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;176;-2396.917,-618.7704;Inherit;False;1740.638;654.7353;Comment;11;219;218;220;146;153;156;147;154;155;148;259;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-2017.212,-1175.145;Inherit;False;1360.688;491.4623;Comment;7;200;174;173;145;215;216;217;;1,1,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;151;-1598.736,1343.848;Inherit;True;Property;_OcclusionMap;Occlusion Map;12;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.OneMinusNode;170;-1213.159,1462.129;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 @@ -386,10 +398,9 @@ Node;AmplifyShaderEditor.StaticSwitch;217;-1443.549,-872.3288;Inherit;False;Prop Node;AmplifyShaderEditor.RangedFloatNode;154;-2110.44,-297.8357;Inherit;False;Property;_DetailNormalMapScale;Detail Normal Map Scale;23;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;147;-2136.865,-193.1417;Inherit;True;Property;_DetailMask;Detail Mask;21;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;156;-1741.162,-239.0549;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;153;-2088.297,-511.5097;Inherit;False;Property;_BumpScale;Bump Scale;11;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;146;-1765.358,-564.0937;Inherit;True;Property;_BumpMap;Bump Map;10;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;164;-1171.638,1087.455;Inherit;False;Property;_GlossMapScale;Gloss Map Scale;9;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;225;-5196.062,-617.9283;Inherit;False;2700.847;2041.228;;31;226;228;227;244;252;251;250;249;248;247;246;245;243;242;241;240;239;238;237;236;235;234;233;232;231;230;229;254;255;256;257;Wrinkle System;1,0.5137255,0.7779443,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;225;-5196.062,-617.9283;Inherit;False;2700.847;2041.228;;32;226;228;227;244;252;251;250;249;248;247;246;245;243;242;241;240;239;238;237;236;235;234;233;232;231;230;229;254;255;256;257;260;Wrinkle System;1,0.5137255,0.7779443,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;229;-2780.533,-255.9874;Inherit;False;diffuseWrinkle;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;230;-2800.533,-141.9883;Inherit;False;smoothnessWrinkle;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;231;-2785.533,-31.98799;Inherit;False;normalWrinkle;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 @@ -406,32 +417,35 @@ Node;AmplifyShaderEditor.StaticSwitch;223;-1200.437,934.4524;Inherit;False;Prope Node;AmplifyShaderEditor.GetLocalVarNode;227;-3602.622,-357.2242;Inherit;False;218;normalMap;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;228;-3634.622,-446.2238;Inherit;False;221;smoothnessMap;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;226;-3606.917,-530.5425;Inherit;False;216;diffuseMap;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.Vector4Node;233;-4922.803,1135.375;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;46;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;234;-4686.808,1201.374;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;47;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;235;-4438.664,1134.231;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;51;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;236;-4183.667,1187.23;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;52;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;233;-4922.803,1135.375;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;47;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;234;-4686.808,1201.374;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;48;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;235;-4438.664,1134.231;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;52;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;236;-4183.667,1187.23;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;53;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;245;-4799.682,-110.2309;Inherit;True;Property;_WrinkleDiffuseBlend1;Wrinkle Diffuse Blend 1;37;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;247;-4179.939,104.9185;Inherit;True;Property;_WrinkleDiffuseBlend3;Wrinkle Diffuse Blend 3;39;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;246;-4497.217,-24.40163;Inherit;True;Property;_WrinkleDiffuseBlend2;Wrinkle Diffuse Blend 2;38;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;252;-4181.95,302.8336;Inherit;True;Property;_WrinkleSmoothnessPack;Wrinkle Smoothness Pack;40;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;248;-4806.242,315.3972;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;41;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;249;-4498.453,422.0821;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;42;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;250;-4185.133,519.4941;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;43;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;232;-4976.76,658.8648;Inherit;False;-1;;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.SamplerNode;248;-4806.242,315.3972;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;42;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;249;-4498.453,422.0821;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;43;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;250;-4185.133,519.4941;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;44;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerStateNode;251;-5115.076,86.76053;Inherit;False;0;0;0;1;2;None;1;0;SAMPLER2D;;False;1;SAMPLERSTATE;0 Node;AmplifyShaderEditor.SamplerNode;242;-4804.652,-332.5127;Inherit;True;Property;_WrinkleMaskSet3;Wrinkle Mask Set 3;35;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;240;-4182.965,994.5209;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;50;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;239;-4438.962,951.5211;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;49;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;238;-4688.105,1011.665;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;45;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;237;-4923.1,952.6652;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;44;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;257;-3665.482,989.2074;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;54;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;256;-3923.108,949.3359;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;48;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;255;-3923.137,1136.423;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;53;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;240;-4182.965,994.5209;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;51;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;239;-4438.962,951.5211;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;50;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;238;-4688.105,1011.665;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;46;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;237;-4923.1,952.6652;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;45;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;257;-3665.482,989.2074;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;55;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;256;-3923.108,949.3359;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;49;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;255;-3923.137,1136.423;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;54;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;254;-4497.854,-236.4908;Inherit;True;Property;_WrinkleMaskSet123;Wrinkle Mask Set 123;36;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;241;-4793.884,-542.6848;Inherit;True;Property;_WrinkleMaskSet1A;Wrinkle Mask Set 1A;32;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;244;-4500.472,-439.6077;Inherit;True;Property;_WrinkleMaskSet1B;Wrinkle Mask Set 1B;33;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;243;-4200.036,-335.8185;Inherit;True;Property;_WrinkleMaskSet2;Wrinkle Mask Set 2;34;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.FunctionNode;258;-3270.997,-186.733;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;17;66048c3ae18f3f84c9195a84e20ae59a;0;28;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 +Node;AmplifyShaderEditor.FunctionNode;258;-3270.997,-186.733;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;17;66048c3ae18f3f84c9195a84e20ae59a;0;31;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;151;FLOAT;0;False;155;FLOAT;0;False;156;FLOAT;0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 +Node;AmplifyShaderEditor.RangedFloatNode;153;-2342.297,-518.5097;Inherit;False;Property;_BumpScale;Bump Scale;11;0;Create;True;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 +Node;AmplifyShaderEditor.RegisterLocalVarNode;259;-2019.033,-427.5625;Inherit;False;normalMapScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 +Node;AmplifyShaderEditor.GetLocalVarNode;232;-5054.76,664.8648;Inherit;False;259;normalMapScale;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.SamplerNode;252;-4498.753,190.8336;Inherit;True;Property;_WrinkleSmoothnessPack;Wrinkle Smoothness Pack;40;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;260;-4180.02,307.7042;Inherit;True;Property;_WrinkleFlowPack;Wrinkle Flow Pack;41;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 WireConnection;170;0;151;2 WireConnection;171;0;169;0 WireConnection;171;1;170;0 @@ -477,7 +491,7 @@ WireConnection;217;1;216;0 WireConnection;217;0;215;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 -WireConnection;146;5;153;0 +WireConnection;146;5;259;0 WireConnection;229;0;258;0 WireConnection;230;0;258;1 WireConnection;231;0;258;6 @@ -492,7 +506,6 @@ WireConnection;223;0;222;0 WireConnection;245;7;251;0 WireConnection;247;7;251;0 WireConnection;246;7;251;0 -WireConnection;252;7;251;0 WireConnection;248;5;232;0 WireConnection;248;7;251;0 WireConnection;249;5;232;0 @@ -521,6 +534,9 @@ WireConnection;258;77;252;3 WireConnection;258;69;248;0 WireConnection;258;73;249;0 WireConnection;258;78;250;0 +WireConnection;258;151;260;1 +WireConnection;258;155;260;2 +WireConnection;258;156;260;3 WireConnection;258;19;237;0 WireConnection;258;20;238;0 WireConnection;258;23;233;0 @@ -532,5 +548,8 @@ WireConnection;258;25;235;0 WireConnection;258;26;236;0 WireConnection;258;104;255;0 WireConnection;258;106;257;0 +WireConnection;259;0;153;0 +WireConnection;252;7;251;0 +WireConnection;260;7;251;0 ASEEND*/ -//CHKSM=99DDBAFDB556AAEB3182F8FA4F1805577EC71524 \ No newline at end of file +//CHKSM=C5798934AFEDDF290DF4E09C855FA83DD7E7B23F \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_3D_Tessellation.shader index 93b3649..c782f6f 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit 3D Tessellation" { @@ -32,33 +32,47 @@ Shader "Reallusion/Amplify/Amplify Lit 3D Tessellation" #include "UnityStandardUtils.cginc" #include "Tessellation.cginc" #pragma target 4.6 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -76,18 +90,18 @@ Shader "Reallusion/Amplify/Amplify Lit 3D Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; } @@ -96,7 +110,7 @@ Shader "Reallusion/Amplify/Amplify Lit 3D Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -132,7 +146,7 @@ Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;204;-143.0898,217.2567;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 WireConnection;170;0;151;2 @@ -165,4 +179,4 @@ WireConnection;202;3;206;0 WireConnection;202;4;207;0 WireConnection;202;5;208;0 ASEEND*/ -//CHKSM=F30C858237443CF190E85EC641408800A647690E \ No newline at end of file +//CHKSM=B93FD663E1F67E376BA011E0958B15A737BE211F \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_3D_Tessellation.shader index 4bcf708..d2b5b16 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation" { @@ -39,32 +39,46 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation" #pragma target 4.6 #pragma shader_feature _SPECULARHIGHLIGHTS_OFF #pragma shader_feature _GLOSSYREFLECTIONS_OFF + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -82,25 +96,25 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = ( _Color.a * tex2DNode145.a ); } ENDCG CGPROGRAM - #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength + #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength ENDCG Pass @@ -185,7 +199,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;5;200;174;145;173;210;;1,1,1,1;0;0 @@ -225,7 +239,7 @@ Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;203;-141.0717,108.4694;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -264,4 +278,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;9;215;0 ASEEND*/ -//CHKSM=638EFC7A4D3D37FEFEAC103DC09BBC1B9BA0F25A \ No newline at end of file +//CHKSM=FEF0E65313BBD54AE31336D765AB42CABE753044 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_DblSided_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_DblSided_3D_Tessellation.shader index 0c66783..781a1e8 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_DblSided_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaBlend_DblSided_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation" { @@ -39,32 +39,46 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation" #pragma target 4.6 #pragma shader_feature _SPECULARHIGHLIGHTS_OFF #pragma shader_feature _GLOSSYREFLECTIONS_OFF + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -82,25 +96,25 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = ( _Color.a * tex2DNode145.a ); } ENDCG CGPROGRAM - #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength + #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength ENDCG Pass @@ -185,7 +199,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;5;200;174;145;173;210;;1,1,1,1;0;0 @@ -225,7 +239,7 @@ Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;203;-141.0717,108.4694;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;329.3807,246.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaBlend DblSided 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;True;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;1;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 WireConnection;170;0;151;2 @@ -264,4 +278,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;9;215;0 ASEEND*/ -//CHKSM=1598BCE65F9D75144981DCC49A0125D4470245E4 \ No newline at end of file +//CHKSM=DC0056EE73345D9FA15240CF1660D6BEF7900B95 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaClipped_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaClipped_3D_Tessellation.shader index 4c59097..a918e86 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaClipped_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_AlphaClipped_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation" { @@ -33,34 +33,48 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation" #include "UnityStandardUtils.cginc" #include "Tessellation.cginc" #pragma target 4.6 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { float2 uv_texcoord; }; uniform half _AlphaClip; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -78,19 +92,19 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 tex2DNode145 = tex2D( _MainTex, uv_MainTex ); + half4 tex2DNode145 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); half4 baseColor200 = ( _Color * tex2DNode145 ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; clip( ( _Color.a * tex2DNode145.a ) - _AlphaClip ); } @@ -100,7 +114,7 @@ Shader "Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;6;200;174;145;173;210;212;;1,1,1,1;0;0 @@ -141,7 +155,7 @@ Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;214;-30.16199,744.158;Inherit;False;Property;_AlphaClip;Alpha Clip;19;0;Create;True;0;0;0;True;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Masked;0.5;True;True;0;False;TransparentCutout;;AlphaTest;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit AlphaClipped 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Masked;0.5;True;True;0;False;TransparentCutout;;AlphaTest;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;True;_AlphaClip;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;210;0;173;4 WireConnection;210;1;145;4 WireConnection;156;0;154;0 @@ -180,4 +194,4 @@ WireConnection;202;4;207;0 WireConnection;202;5;208;0 WireConnection;202;10;211;0 ASEEND*/ -//CHKSM=67F4A38E6F57DBB2F30C5A1AF3C7A974EEEBB705 \ No newline at end of file +//CHKSM=9E3F956E47A0CC4DFBE522ED38791224BCFF1F08 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_DblSided_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_DblSided_3D_Tessellation.shader index a0b1eb3..94fda3a 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_DblSided_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_DblSided_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation" { @@ -32,33 +32,47 @@ Shader "Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation" #include "UnityStandardUtils.cginc" #include "Tessellation.cginc" #pragma target 4.6 - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + + #pragma surface surf Standard keepalpha addshadow fullforwardshadows vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { float2 uv_texcoord; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -76,18 +90,18 @@ Shader "Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); o.Alpha = 1; } @@ -96,7 +110,7 @@ Shader "Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -132,7 +146,7 @@ Node;AmplifyShaderEditor.WireNode;207;-139.0539,516.7986;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;205;-142.3788,327.9482;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;204;-143.0898,217.2567;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WireNode;206;-142.4345,411.0686;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/Amplify Lit DblSided 3D Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;156;0;154;0 WireConnection;156;1;147;2 WireConnection;170;0;151;2 @@ -165,4 +179,4 @@ WireConnection;202;3;206;0 WireConnection;202;4;207;0 WireConnection;202;5;208;0 ASEEND*/ -//CHKSM=A4157F34FFFEF4C55A4038DB4FFB34CE6C610565 \ No newline at end of file +//CHKSM=BC7FDFB9095A6D46DB90767BB6C2F0D6E0A1DFFB \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_SSS_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_SSS_3D_Tessellation.shader index 088698d..ca29114 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_SSS_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_Lit_SSS_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" { @@ -45,6 +45,13 @@ Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" #include "UnityPBSLighting.cginc" #include "Tessellation.cginc" #pragma target 4.6 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustom keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { @@ -64,30 +71,38 @@ Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" half3 Translucency; }; - uniform sampler2D _BumpMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); uniform half4 _BumpMap_ST; + SamplerState sampler_BumpMap; uniform half _BumpScale; - uniform sampler2D _DetailNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailNormalMap); uniform half4 _DetailNormalMap_ST; + SamplerState sampler_DetailNormalMap; uniform half _DetailNormalMapScale; - uniform sampler2D _DetailMask; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DetailMask); uniform half4 _DetailMask_ST; + SamplerState sampler_DetailMask; uniform half4 _Color; - uniform sampler2D _MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); uniform half4 _MainTex_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_MainTex; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissionColor; uniform half _Metallic; - uniform sampler2D _MetallicGlossMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MetallicGlossMap); uniform half4 _MetallicGlossMap_ST; + SamplerState sampler_MetallicGlossMap; uniform half _GlossMapScale; uniform half _OcclusionStrength; - uniform sampler2D _OcclusionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_OcclusionMap); uniform half4 _OcclusionMap_ST; + SamplerState sampler_OcclusionMap; uniform half _Thickness; - uniform sampler2D _ThicknessMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ThicknessMap); uniform half4 _ThicknessMap_ST; + SamplerState sampler_ThicknessMap; uniform half4 _SubsurfaceFalloff; uniform half _Translucency; uniform half _TransNormalDistortion; @@ -96,8 +111,9 @@ Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" uniform half _TransAmbient; uniform half _TransShadow; uniform half _SubsurfaceMask; - uniform sampler2D _SubsurfaceMaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_SubsurfaceMaskMap); uniform half4 _SubsurfaceMaskMap_ST; + SamplerState sampler_SubsurfaceMaskMap; uniform float _EdgeLength; uniform float _TessPhongStrength; @@ -151,23 +167,23 @@ Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * tex2D( _DetailMask, uv_DetailMask ).g ) ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _BumpScale ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _DetailNormalMap, sampler_DetailNormalMap, uv_DetailNormalMap ), ( _DetailNormalMapScale * SAMPLE_TEXTURE2D( _DetailMask, sampler_DetailMask, uv_DetailMask ).g ) ) ); float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - half4 baseColor200 = ( _Color * tex2D( _MainTex, uv_MainTex ) ); + half4 baseColor200 = ( _Color * SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ) ); o.Albedo = baseColor200.rgb; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissionColor ).rgb; float2 uv_MetallicGlossMap = i.uv_texcoord * _MetallicGlossMap_ST.xy + _MetallicGlossMap_ST.zw; - half4 tex2DNode150 = tex2D( _MetallicGlossMap, uv_MetallicGlossMap ); + half4 tex2DNode150 = SAMPLE_TEXTURE2D( _MetallicGlossMap, sampler_MetallicGlossMap, uv_MetallicGlossMap ); o.Metallic = ( _Metallic * tex2DNode150.g ); o.Smoothness = ( tex2DNode150.a * _GlossMapScale ); float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; - o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - tex2D( _OcclusionMap, uv_OcclusionMap ).g ) ) ); + o.Occlusion = ( 1.0 - ( _OcclusionStrength * ( 1.0 - SAMPLE_TEXTURE2D( _OcclusionMap, sampler_OcclusionMap, uv_OcclusionMap ).g ) ) ); float2 uv_ThicknessMap = i.uv_texcoord * _ThicknessMap_ST.xy + _ThicknessMap_ST.zw; half4 temp_output_214_0 = ( _SubsurfaceFalloff * baseColor200 ); - o.Transmission = ( _Thickness * tex2D( _ThicknessMap, uv_ThicknessMap ) * temp_output_214_0 ).rgb; + o.Transmission = ( _Thickness * SAMPLE_TEXTURE2D( _ThicknessMap, sampler_ThicknessMap, uv_ThicknessMap ) * temp_output_214_0 ).rgb; float2 uv_SubsurfaceMaskMap = i.uv_texcoord * _SubsurfaceMaskMap_ST.xy + _SubsurfaceMaskMap_ST.zw; - o.Translucency = ( _SubsurfaceMask * 0.5 * tex2D( _SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) * temp_output_214_0 ).rgb; + o.Translucency = ( _SubsurfaceMask * 0.5 * SAMPLE_TEXTURE2D( _SubsurfaceMaskMap, sampler_SubsurfaceMaskMap, uv_SubsurfaceMaskMap ) * temp_output_214_0 ).rgb; o.Alpha = 1; } @@ -176,7 +192,7 @@ Shader "Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;179;-1648.736,1265.129;Inherit;False;1008.577;308.7186;Comment;5;151;170;169;171;172;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;176;-2020.17,-491.7789;Inherit;False;1374.699;518.4456;Comment;7;153;148;146;147;154;156;155;;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;175;-1540.517,-1026.539;Inherit;False;886.6949;482.6302;Comment;4;200;174;145;173;;1,1,1,1;0;0 @@ -225,7 +241,7 @@ Node;AmplifyShaderEditor.RangedFloatNode;194;-1187.487,2115.57;Inherit;False;Con Node;AmplifyShaderEditor.SamplerNode;189;-1205.472,2203.485;Inherit;True;Property;_SubsurfaceMaskMap;Subsurface Mask Map;16;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;195;-1176.749,1725.444;Inherit;False;Property;_Thickness;Transmission;19;0;Create;False;0;0;0;False;0;False;1;0;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;190;-1196.935,1821.459;Inherit;True;Property;_ThicknessMap;Tramsission Map;18;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;24;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;202;322.3807,257.9512;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/LitSSSRL_Amplify_Lit_SSS_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;24;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;170;0;151;2 WireConnection;156;0;154;0 WireConnection;156;1;147;2 @@ -271,4 +287,4 @@ WireConnection;202;5;208;0 WireConnection;202;6;209;0 WireConnection;202;7;210;0 ASEEND*/ -//CHKSM=CA9BA71D08C26EF4053AB1624B1F52FE69726D0F \ No newline at end of file +//CHKSM=CF695ABAE5BE017AA4EFE50F7A95D10062D85CC7 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_SkinShader_Variants_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_SkinShader_Variants_3D_Tessellation.shader index 342648f..95d8b8c 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_SkinShader_Variants_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_SkinShader_Variants_3D_Tessellation.shader @@ -83,6 +83,9 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" [Normal]_WrinkleNormalBlend1("Wrinkle Normal Blend 1", 2D) = "bump" {} [Normal]_WrinkleNormalBlend2("Wrinkle Normal Blend 2", 2D) = "bump" {} [Normal]_WrinkleNormalBlend3("Wrinkle Normal Blend 3", 2D) = "bump" {} + _WrinkleFlowMap1("Wrinkle Flow Map 1", 2D) = "white" {} + _WrinkleFlowMap2("Wrinkle Flow Map 2", 2D) = "white" {} + _WrinkleFlowMap3("Wrinkle Flow Map 3", 2D) = "white" {} _WrinkleValueSet1AL("Wrinkle Value Set 1A Left", Vector) = (0,0,0,0) _WrinkleValueSet1BL("Wrinkle Value Set 1B Left", Vector) = (0,0,0,0) _WrinkleValueSet2L("Wrinkle Value Set 2 Left", Vector) = (0,0,0,0) @@ -161,12 +164,16 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" uniform half4 _WrinkleValueSet1AR; uniform half4 _WrinkleValueSet1BR; uniform half4 _WrinkleValueSet12CR; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap1); + uniform half4 _WrinkleFlowMap1_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend2); uniform half4 _WrinkleNormalBlend2_ST; uniform half4 _WrinkleValueSet2L; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleMaskSet2); uniform half4 _WrinkleMaskSet2_ST; uniform half4 _WrinkleValueSet2R; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap2); + uniform half4 _WrinkleFlowMap2_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleNormalBlend3); uniform half4 _WrinkleNormalBlend3_ST; uniform half4 _WrinkleValueSet3DB; @@ -174,6 +181,8 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleMaskSet3); uniform half4 _WrinkleMaskSet3_ST; uniform half4 _WrinkleValueSet3R; + UNITY_DECLARE_TEX2D_NOSAMPLER(_WrinkleFlowMap3); + uniform half4 _WrinkleFlowMap3_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalBlendMap); uniform half4 _NormalBlendMap_ST; UNITY_DECLARE_TEX2D_NOSAMPLER(_SSSMap); @@ -329,11 +338,11 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" void surf( Input i , inout SurfaceOutputStandardCustom o ) { float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; - half normalScale359 = _NormalStrength; - half3 normalMap360 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), normalScale359 ); + half normalMapScale359 = _NormalStrength; + half3 normalMap360 = UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_DiffuseMap, uv_NormalMap ), normalMapScale359 ); float2 uv_WrinkleNormalBlend1 = i.uv_texcoord * _WrinkleNormalBlend1_ST.xy + _WrinkleNormalBlend1_ST.zw; - half temp_output_1_0_g44 = 0.49; - half leftMask27_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g44 ) / ( 0.51 - temp_output_1_0_g44 ) ) ); + half temp_output_1_0_g42 = 0.49; + half leftMask27_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g42 ) / ( 0.51 - temp_output_1_0_g42 ) ) ); half4 break107_g40 = _WrinkleValueSet12CL; half2 appendResult112_g40 = (half2(break107_g40.x , break107_g40.y)); float2 uv_WrinkleMaskSet123 = i.uv_texcoord * _WrinkleMaskSet123_ST.xy + _WrinkleMaskSet123_ST.zw; @@ -353,10 +362,13 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" half2 appendResult117_g40 = (half2(break108_g40.x , break108_g40.y)); half dotResult122_g40 = dot( appendResult115_g40 , appendResult117_g40 ); half value1CRight136_g40 = dotResult122_g40; - half temp_output_1_0_g43 = 0.51; - half rightMask28_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g43 ) / ( 0.49 - temp_output_1_0_g43 ) ) ); - half temp_output_16_0_g45 = ( ( leftMask27_g40 * ( value1CLeft135_g40 + dotResult29_g40 + dotResult35_g40 ) ) + ( ( dotResult30_g40 + dotResult36_g40 + value1CRight136_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g45 = lerp( normalMap360 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalScale359 ) , temp_output_16_0_g45); + half temp_output_1_0_g41 = 0.51; + half rightMask28_g40 = saturate( ( ( i.uv_texcoord.x - temp_output_1_0_g41 ) / ( 0.49 - temp_output_1_0_g41 ) ) ); + half temp_output_16_0_g63 = ( ( leftMask27_g40 * ( value1CLeft135_g40 + dotResult29_g40 + dotResult35_g40 ) ) + ( ( dotResult30_g40 + dotResult36_g40 + value1CRight136_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g64 = 0.0; + float2 uv_WrinkleFlowMap1 = i.uv_texcoord * _WrinkleFlowMap1_ST.xy + _WrinkleFlowMap1_ST.zw; + half temp_output_23_0_g63 = ( saturate( ( ( temp_output_16_0_g63 - temp_output_1_0_g64 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap1, sampler_Linear_Repeat, uv_WrinkleFlowMap1 ).g - temp_output_1_0_g64 ) ) ) * temp_output_16_0_g63 ); + half3 lerpResult19_g63 = lerp( normalMap360 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend1, sampler_Linear_Repeat, uv_WrinkleNormalBlend1 ), normalMapScale359 ) , temp_output_23_0_g63); float2 uv_WrinkleNormalBlend2 = i.uv_texcoord * _WrinkleNormalBlend2_ST.xy + _WrinkleNormalBlend2_ST.zw; half2 appendResult113_g40 = (half2(break107_g40.z , break107_g40.w)); half2 appendResult114_g40 = (half2(break109_g40.z , break109_g40.w)); @@ -369,8 +381,11 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" half2 appendResult116_g40 = (half2(break108_g40.z , break108_g40.w)); half dotResult124_g40 = dot( appendResult114_g40 , appendResult116_g40 ); half value2CRight138_g40 = dotResult124_g40; - half temp_output_16_0_g41 = ( ( leftMask27_g40 * ( value2CLeft137_g40 + dotResult41_g40 ) ) + ( ( dotResult42_g40 + value2CRight138_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g41 = lerp( lerpResult19_g45 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalScale359 ) , temp_output_16_0_g41); + half temp_output_16_0_g59 = ( ( leftMask27_g40 * ( value2CLeft137_g40 + dotResult41_g40 ) ) + ( ( dotResult42_g40 + value2CRight138_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g60 = 0.0; + float2 uv_WrinkleFlowMap2 = i.uv_texcoord * _WrinkleFlowMap2_ST.xy + _WrinkleFlowMap2_ST.zw; + half temp_output_23_0_g59 = ( saturate( ( ( temp_output_16_0_g59 - temp_output_1_0_g60 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap2, sampler_Linear_Repeat, uv_WrinkleFlowMap2 ).g - temp_output_1_0_g60 ) ) ) * temp_output_16_0_g59 ); + half3 lerpResult19_g59 = lerp( lerpResult19_g63 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend2, sampler_Linear_Repeat, uv_WrinkleNormalBlend2 ), normalMapScale359 ) , temp_output_23_0_g59); float2 uv_WrinkleNormalBlend3 = i.uv_texcoord * _WrinkleNormalBlend3_ST.xy + _WrinkleNormalBlend3_ST.zw; half4 break118_g40 = _WrinkleValueSet3DB; half2 appendResult120_g40 = (half2(break118_g40.x , break118_g40.y)); @@ -383,9 +398,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" half2 appendResult119_g40 = (half2(break118_g40.z , break118_g40.w)); half dotResult128_g40 = dot( appendResult115_g40 , appendResult119_g40 ); half value3DRight130_g40 = dotResult128_g40; - half temp_output_16_0_g42 = ( ( leftMask27_g40 * ( value3DLeft129_g40 + dotResult47_g40 ) ) + ( ( dotResult48_g40 + value3DRight130_g40 ) * rightMask28_g40 ) ); - half3 lerpResult19_g42 = lerp( lerpResult19_g41 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalScale359 ) , temp_output_16_0_g42); - half3 normalWrinkle439 = lerpResult19_g42; + half temp_output_16_0_g61 = ( ( leftMask27_g40 * ( value3DLeft129_g40 + dotResult47_g40 ) ) + ( ( dotResult48_g40 + value3DRight130_g40 ) * rightMask28_g40 ) ); + half temp_output_1_0_g62 = 0.0; + float2 uv_WrinkleFlowMap3 = i.uv_texcoord * _WrinkleFlowMap3_ST.xy + _WrinkleFlowMap3_ST.zw; + half temp_output_23_0_g61 = ( saturate( ( ( temp_output_16_0_g61 - temp_output_1_0_g62 ) / ( SAMPLE_TEXTURE2D( _WrinkleFlowMap3, sampler_Linear_Repeat, uv_WrinkleFlowMap3 ).g - temp_output_1_0_g62 ) ) ) * temp_output_16_0_g61 ); + half3 lerpResult19_g61 = lerp( lerpResult19_g59 , UnpackScaleNormal( SAMPLE_TEXTURE2D( _WrinkleNormalBlend3, sampler_Linear_Repeat, uv_WrinkleNormalBlend3 ), normalMapScale359 ) , temp_output_23_0_g61); + half3 normalWrinkle439 = lerpResult19_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half3 staticSwitch467 = normalWrinkle439; #else @@ -449,12 +467,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; half4 diffuseMap358 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); float2 uv_WrinkleDiffuseBlend1 = i.uv_texcoord * _WrinkleDiffuseBlend1_ST.xy + _WrinkleDiffuseBlend1_ST.zw; - half4 lerpResult17_g45 = lerp( diffuseMap358 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_16_0_g45); + half4 lerpResult17_g63 = lerp( diffuseMap358 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend1, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend1 ) , temp_output_23_0_g63); float2 uv_WrinkleDiffuseBlend2 = i.uv_texcoord * _WrinkleDiffuseBlend2_ST.xy + _WrinkleDiffuseBlend2_ST.zw; - half4 lerpResult17_g41 = lerp( lerpResult17_g45 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_16_0_g41); + half4 lerpResult17_g59 = lerp( lerpResult17_g63 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend2, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend2 ) , temp_output_23_0_g59); float2 uv_WrinkleDiffuseBlend3 = i.uv_texcoord * _WrinkleDiffuseBlend3_ST.xy + _WrinkleDiffuseBlend3_ST.zw; - half4 lerpResult17_g42 = lerp( lerpResult17_g41 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_16_0_g42); - half4 diffuseWrinkle437 = lerpResult17_g42; + half4 lerpResult17_g61 = lerp( lerpResult17_g59 , SAMPLE_TEXTURE2D( _WrinkleDiffuseBlend3, sampler_Linear_Repeat, uv_WrinkleDiffuseBlend3 ) , temp_output_23_0_g61); + half4 diffuseWrinkle437 = lerpResult17_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half4 staticSwitch464 = diffuseWrinkle437; #else @@ -484,12 +502,12 @@ Shader "Reallusion/Amplify/RL_SkinShader_Variants_3D_Tessellation" o.Metallic = metallicMap285; half smoothnessMap288 = tex2DNode32.a; float2 uv_WrinkleRoughnessBlend1 = i.uv_texcoord * _WrinkleRoughnessBlend1_ST.xy + _WrinkleRoughnessBlend1_ST.zw; - half lerpResult18_g45 = lerp( smoothnessMap288 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend1, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend1 ).g ) , temp_output_16_0_g45); + half lerpResult18_g63 = lerp( smoothnessMap288 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend1, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend1 ).g ) , temp_output_23_0_g63); float2 uv_WrinkleRoughnessBlend2 = i.uv_texcoord * _WrinkleRoughnessBlend2_ST.xy + _WrinkleRoughnessBlend2_ST.zw; - half lerpResult18_g41 = lerp( lerpResult18_g45 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend2, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend2 ).g ) , temp_output_16_0_g41); + half lerpResult18_g59 = lerp( lerpResult18_g63 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend2, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend2 ).g ) , temp_output_23_0_g59); float2 uv_WrinkleRoughnessBlend3 = i.uv_texcoord * _WrinkleRoughnessBlend3_ST.xy + _WrinkleRoughnessBlend3_ST.zw; - half lerpResult18_g42 = lerp( lerpResult18_g41 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend3, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend3 ).g ) , temp_output_16_0_g42); - half smoothnessWrinkle438 = lerpResult18_g42; + half lerpResult18_g61 = lerp( lerpResult18_g59 , ( 1.0 - SAMPLE_TEXTURE2D( _WrinkleRoughnessBlend3, sampler_Linear_Repeat, uv_WrinkleRoughnessBlend3 ).g ) , temp_output_23_0_g61); + half smoothnessWrinkle438 = lerpResult18_g61; #ifdef BOOLEAN_USE_WRINKLE_ON half staticSwitch468 = smoothnessWrinkle438; #else @@ -688,16 +706,15 @@ Node;AmplifyShaderEditor.SamplerNode;52;-1395.85,15.95127;Inherit;True;Property; Node;AmplifyShaderEditor.GetLocalVarNode;343;-2228.05,-361.8155;Inherit;False;340;subsurfaceFlattenNormals;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;59;-2225.185,-49.41412;Inherit;False;Property;_NormalBlendStrength;Normal Blend Strength (Head);48;0;Create;False;0;0;0;False;0;False;0;0.5;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;341;-1926.138,-218.3322;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;359;-1943.112,-583.7412;Inherit;False;normalScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;60;-2232.41,-634.1191;Inherit;False;Property;_NormalStrength;Normal Strength;13;0;Create;True;0;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;360;-1080.1,-667.2007;Inherit;False;normalMap;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.CommentaryNode;430;-5192.445,-3069.558;Inherit;False;2652.901;2027.358;;37;431;437;463;462;461;460;459;458;457;456;455;454;453;452;451;450;449;448;447;446;445;444;443;442;441;440;439;438;436;435;434;433;432;470;471;472;473;Wrinkle System;1,0.5137255,0.7779443,1;0;0 +Node;AmplifyShaderEditor.CommentaryNode;430;-5192.445,-3069.558;Inherit;False;2652.901;2027.358;;40;431;437;463;462;461;460;459;458;457;456;455;454;453;452;451;450;449;448;447;446;445;444;443;442;441;440;439;438;436;435;434;433;432;470;471;472;473;474;475;476;Wrinkle System;1,0.5137255,0.7779443,1;0;0 Node;AmplifyShaderEditor.GetLocalVarNode;434;-3638.247,-2980.172;Inherit;False;358;diffuseMap;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;435;-3668.951,-2895.854;Inherit;False;288;smoothnessMap;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;436;-3641.951,-2812.854;Inherit;False;360;normalMap;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;438;-2844.862,-2593.617;Inherit;False;smoothnessWrinkle;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;439;-2829.862,-2483.617;Inherit;False;normalWrinkle;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.FunctionNode;463;-3315.326,-2638.362;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;40;66048c3ae18f3f84c9195a84e20ae59a;0;28;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 +Node;AmplifyShaderEditor.FunctionNode;463;-3315.326,-2638.362;Inherit;False;RL_Amplify_WrinkleMapSystem;-1;;40;66048c3ae18f3f84c9195a84e20ae59a;0;31;7;COLOR;0,0,0,0;False;8;FLOAT;0;False;9;FLOAT3;0,0,0;False;15;FLOAT4;0,0,0,0;False;16;FLOAT4;0,0,0,0;False;17;FLOAT4;0,0,0,0;False;18;FLOAT4;0,0,0,0;False;105;FLOAT4;0,0,0,0;False;67;COLOR;0,0,0,0;False;71;COLOR;0,0,0,0;False;76;COLOR;0,0,0,0;False;68;FLOAT;0;False;72;FLOAT;0;False;77;FLOAT;0;False;69;FLOAT3;0,0,0;False;73;FLOAT3;0,0,0;False;78;FLOAT3;0,0,0;False;151;FLOAT;0;False;155;FLOAT;0;False;156;FLOAT;0;False;19;FLOAT4;0,0,0,0;False;20;FLOAT4;0,0,0,0;False;23;FLOAT4;0,0,0,0;False;24;FLOAT4;0,0,0,0;False;103;FLOAT4;0,0,0,0;False;21;FLOAT4;0,0,0,0;False;22;FLOAT4;0,0,0,0;False;25;FLOAT4;0,0,0,0;False;26;FLOAT4;0,0,0,0;False;104;FLOAT4;0,0,0,0;False;106;FLOAT4;0,0,0,0;False;3;COLOR;0;FLOAT;1;FLOAT3;6 Node;AmplifyShaderEditor.RegisterLocalVarNode;358;-1558.199,-1416.748;Inherit;False;diffuseMap;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;465;-1560.86,-1325.258;Inherit;False;437;diffuseWrinkle;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;357;-1042.627,-1514.344;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 @@ -728,23 +745,27 @@ Node;AmplifyShaderEditor.SamplerNode;459;-4162.216,-2174.115;Inherit;True;Proper Node;AmplifyShaderEditor.SamplerNode;460;-4768.059,-2158.782;Inherit;True;Property;_WrinkleNormalBlend1;Wrinkle Normal Blend 1;79;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;461;-4464.56,-2064.297;Inherit;True;Property;_WrinkleNormalBlend2;Wrinkle Normal Blend 2;80;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;462;-4164.351,-1964.485;Inherit;True;Property;_WrinkleNormalBlend3;Wrinkle Normal Blend 3;81;1;[Normal];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;440;-5013.275,-1812.114;Inherit;False;359;normalScale;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;451;-4775.664,-2782.49;Inherit;True;Property;_WrinkleMaskSet3;Wrinkle Mask Set 3;71;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;470;-4471.832,-2702.583;Inherit;True;Property;_WrinkleMaskSet123;Wrinkle Mask Set 123;72;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;452;-4155.617,-2789.232;Inherit;True;Property;_WrinkleMaskSet2;Wrinkle Mask Set 2;70;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;441;-4886.904,-1406.791;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;84;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;442;-4650.904,-1340.791;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;85;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;443;-4402.755,-1407.935;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;89;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;444;-4147.766,-1354.935;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;90;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;445;-4887.204,-1589.502;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;82;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;446;-4652.204,-1530.502;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;83;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;447;-4403.055,-1590.646;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;87;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;448;-4147.063,-1547.646;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;88;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;472;-3883.424,-1394.853;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;91;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;471;-3887.424,-1584.853;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;86;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector4Node;473;-3621.424,-1540.853;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;92;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;441;-4886.904,-1406.791;Inherit;False;Property;_WrinkleValueSet2L;Wrinkle Value Set 2 Left;87;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;442;-4650.904,-1340.791;Inherit;False;Property;_WrinkleValueSet3L;Wrinkle Value Set 3 Left;88;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;443;-4402.755,-1407.935;Inherit;False;Property;_WrinkleValueSet2R;Wrinkle Value Set 2 Right;92;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;444;-4147.766,-1354.935;Inherit;False;Property;_WrinkleValueSet3R;Wrinkle Value Set 3 Right;93;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;445;-4887.204,-1589.502;Inherit;False;Property;_WrinkleValueSet1AL;Wrinkle Value Set 1A Left;85;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;446;-4652.204,-1530.502;Inherit;False;Property;_WrinkleValueSet1BL;Wrinkle Value Set 1B Left;86;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;447;-4403.055,-1590.646;Inherit;False;Property;_WrinkleValueSet1AR;Wrinkle Value Set 1A Right;90;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;448;-4147.063,-1547.646;Inherit;False;Property;_WrinkleValueSet1BR;Wrinkle Value Set 1B Right;91;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;472;-3883.424,-1394.853;Inherit;False;Property;_WrinkleValueSet12CR;Wrinkle Value Set 12C Right;94;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;471;-3887.424,-1584.853;Inherit;False;Property;_WrinkleValueSet12CL;Wrinkle Value Set 12C Left;89;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.Vector4Node;473;-3621.424,-1540.853;Inherit;False;Property;_WrinkleValueSet3DB;Wrinkle Value Set 3D Both;95;0;Create;False;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;450;-4760.796,-3000.462;Inherit;True;Property;_WrinkleMaskSet1A;Wrinkle Mask Set 1A;68;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;453;-4467.378,-2897.385;Inherit;True;Property;_WrinkleMaskSet1B;Wrinkle Mask Set 1B;69;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;474;-4772.532,-1954.602;Inherit;True;Property;_WrinkleFlowMap1;Wrinkle Flow Map 1;82;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;475;-4467.65,-1863.598;Inherit;True;Property;_WrinkleFlowMap2;Wrinkle Flow Map 2;83;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.SamplerNode;476;-4166.894,-1762.073;Inherit;True;Property;_WrinkleFlowMap3;Wrinkle Flow Map 3;84;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 +Node;AmplifyShaderEditor.GetLocalVarNode;440;-5024.275,-1808.114;Inherit;False;359;normalMapScale;1;0;OBJECT;;False;1;FLOAT;0 +Node;AmplifyShaderEditor.RegisterLocalVarNode;359;-1943.112,-583.7412;Inherit;False;normalMapScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 WireConnection;150;0;126;0 WireConnection;150;1;127;0 WireConnection;150;2;128;0 @@ -907,7 +928,6 @@ WireConnection;52;1;344;0 WireConnection;52;5;57;0 WireConnection;341;0;343;0 WireConnection;341;1;59;0 -WireConnection;359;0;60;0 WireConnection;360;0;48;0 WireConnection;438;0;463;1 WireConnection;439;0;463;6 @@ -928,6 +948,9 @@ WireConnection;463;77;433;0 WireConnection;463;69;460;0 WireConnection;463;73;461;0 WireConnection;463;78;462;0 +WireConnection;463;151;474;2 +WireConnection;463;155;475;2 +WireConnection;463;156;476;2 WireConnection;463;19;445;0 WireConnection;463;20;446;0 WireConnection;463;23;441;0 @@ -981,5 +1004,9 @@ WireConnection;470;7;431;0 WireConnection;452;7;431;0 WireConnection;450;7;431;0 WireConnection;453;7;431;0 +WireConnection;474;7;431;0 +WireConnection;475;7;431;0 +WireConnection;476;7;431;0 +WireConnection;359;0;60;0 ASEEND*/ -//CHKSM=8DB8D5A6AAE18061F208D87EB38E180B5EB5FD86 \ No newline at end of file +//CHKSM=71D3F9CB4CB9E015429C4E7DE61AC39A9B04E8B6 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_TeethShader_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_TeethShader_3D_Tessellation.shader index b17ba11..5b1d267 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_TeethShader_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_TeethShader_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_TeethShader_3D_Tessellation" { @@ -54,6 +54,13 @@ Shader "Reallusion/Amplify/RL_TeethShader_3D_Tessellation" #include "UnityPBSLighting.cginc" #include "Tessellation.cginc" #pragma target 4.6 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustom keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { @@ -73,30 +80,37 @@ Shader "Reallusion/Amplify/RL_TeethShader_3D_Tessellation" half3 Translucency; }; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; + SamplerState sampler_NormalMap; uniform half _NormalStrength; - uniform sampler2D _MicroNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MicroNormalMap); uniform half _MicroNormalTiling; + SamplerState sampler_MicroNormalMap; uniform half _MicroNormalStrength; uniform half _RearAO; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _GumsSaturation; uniform half _GumsBrightness; uniform half _TeethSaturation; uniform half _TeethBrightness; - uniform sampler2D _GumsMaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GumsMaskMap); uniform half4 _GumsMaskMap_ST; + SamplerState sampler_GumsMaskMap; uniform half _FrontAO; - uniform sampler2D _GradientAOMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GradientAOMap); uniform half4 _GradientAOMap_ST; + SamplerState sampler_GradientAOMap; uniform half _IsUpperTeeth; - uniform sampler2D _EmissionMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; + SamplerState sampler_MaskMap; uniform half _SmoothnessRear; uniform half _SmoothnessFront; uniform half _SmoothnessMax; @@ -185,25 +199,25 @@ Shader "Reallusion/Amplify/RL_TeethShader_3D_Tessellation" float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; half2 temp_cast_0 = (_MicroNormalTiling).xx; float2 uv_TexCoord77 = i.uv_texcoord * temp_cast_0; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( tex2D( _MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _MicroNormalMap, sampler_MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half4 tex2DNode32 = tex2D( _DiffuseMap, uv_DiffuseMap ); + half4 tex2DNode32 = SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ); half3 hsvTorgb33 = RGBToHSV( tex2DNode32.rgb ); half3 hsvTorgb36 = HSVToRGB( half3(hsvTorgb33.x,( _GumsSaturation * hsvTorgb33.y ),( hsvTorgb33.z * _GumsBrightness )) ); half3 hsvTorgb96 = RGBToHSV( tex2DNode32.rgb ); half3 hsvTorgb99 = HSVToRGB( half3(hsvTorgb96.x,( _TeethSaturation * hsvTorgb96.y ),( hsvTorgb96.z * _TeethBrightness )) ); float2 uv_GumsMaskMap = i.uv_texcoord * _GumsMaskMap_ST.xy + _GumsMaskMap_ST.zw; - half4 tex2DNode103 = tex2D( _GumsMaskMap, uv_GumsMaskMap ); + half4 tex2DNode103 = SAMPLE_TEXTURE2D( _GumsMaskMap, sampler_GumsMaskMap, uv_GumsMaskMap ); half3 lerpResult101 = lerp( hsvTorgb36 , hsvTorgb99 , tex2DNode103.g); float2 uv_GradientAOMap = i.uv_texcoord * _GradientAOMap_ST.xy + _GradientAOMap_ST.zw; - half4 tex2DNode31 = tex2D( _GradientAOMap, uv_GradientAOMap ); + half4 tex2DNode31 = SAMPLE_TEXTURE2D( _GradientAOMap, sampler_GradientAOMap, uv_GradientAOMap ); half lerpResult132 = lerp( tex2DNode31.r , tex2DNode31.g , _IsUpperTeeth); half3 lerpResult40 = lerp( ( _RearAO * lerpResult101 ) , ( lerpResult101 * _FrontAO ) , lerpResult132); o.Albedo = lerpResult40; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode52 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode52 = SAMPLE_TEXTURE2D( _MaskMap, sampler_MaskMap, uv_MaskMap ); o.Metallic = tex2DNode52.r; half lerpResult58 = lerp( _SmoothnessFront , _SmoothnessMax , tex2DNode52.a); half lerpResult60 = lerp( _SmoothnessRear , lerpResult58 , lerpResult132); @@ -223,7 +237,7 @@ Shader "Reallusion/Amplify/RL_TeethShader_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;139;-4829.458,363.6766;Inherit;False;842.6992;426.936;;4;12;131;31;132;Gradient AO Map;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;109;-3795.151,-2528.385;Inherit;False;2612.074;1058.53;;27;138;136;40;38;39;101;23;24;137;104;36;99;98;97;37;34;100;35;33;21;94;95;96;22;32;8;155;Base Color;0,1,0.194277,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;106;-5123.6,-894.2192;Inherit;False;666.9336;346.7067;Comment;2;102;103;Teeth Gums Mask Map;1,1,1,1;0;0 @@ -331,7 +345,7 @@ Node;AmplifyShaderEditor.WireNode;166;-521.7424,264.0499;Inherit;False;1;0;COLOR Node;AmplifyShaderEditor.WireNode;160;-525.5538,170.9873;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;163;-529.7709,-4.592896;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;161;-525.358,98.4462;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;144;-153.9204,-76.92043;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_TeethShader_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;13;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;144;-153.9204,-76.92043;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_TeethShader_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;13;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;32;0;8;0 WireConnection;31;0;12;0 WireConnection;103;0;102;0 @@ -444,4 +458,4 @@ WireConnection;144;5;160;0 WireConnection;144;6;166;0 WireConnection;144;7;158;0 ASEEND*/ -//CHKSM=BB05A52AAF72CDB6429ABA624BCBE0ABC6A92CA2 \ No newline at end of file +//CHKSM=273092D38EDD6AD44FEA72743F12FCB9A9CD2098 \ No newline at end of file diff --git a/3D/Shaders/Amplify/Tessellation/RL_Amplify_TongueShader_3D_Tessellation.shader b/3D/Shaders/Amplify/Tessellation/RL_Amplify_TongueShader_3D_Tessellation.shader index 2b41d6b..ef5ca95 100644 --- a/3D/Shaders/Amplify/Tessellation/RL_Amplify_TongueShader_3D_Tessellation.shader +++ b/3D/Shaders/Amplify/Tessellation/RL_Amplify_TongueShader_3D_Tessellation.shader @@ -1,4 +1,4 @@ -// Made with Amplify Shader Editor v1.9.1.3 +// Made with Amplify Shader Editor v1.9.1.5 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Reallusion/Amplify/RL_TongueShader_3D_Tessellation" { @@ -48,6 +48,13 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D_Tessellation" #include "UnityPBSLighting.cginc" #include "Tessellation.cginc" #pragma target 4.6 + #define ASE_USING_SAMPLING_MACROS 1 + #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) + #else//ASE Sampling Macros + #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) + #endif//ASE Sampling Macros + #pragma surface surf StandardCustom keepalpha addshadow fullforwardshadows exclude_path:deferred vertex:vertexDataFunc tessellate:tessFunction tessphong:_TessPhongStrength struct Input { @@ -67,25 +74,31 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D_Tessellation" half3 Translucency; }; - uniform sampler2D _NormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_NormalMap); uniform half4 _NormalMap_ST; + SamplerState sampler_NormalMap; uniform half _NormalStrength; - uniform sampler2D _MicroNormalMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MicroNormalMap); uniform half _MicroNormalTiling; + SamplerState sampler_MicroNormalMap; uniform half _MicroNormalStrength; uniform half _RearAO; - uniform sampler2D _DiffuseMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DiffuseMap); uniform half4 _DiffuseMap_ST; + SamplerState sampler_DiffuseMap; uniform half _TongueSaturation; uniform half _TongueBrightness; uniform half _FrontAO; - uniform sampler2D _GradientAOMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GradientAOMap); uniform half4 _GradientAOMap_ST; - uniform sampler2D _EmissionMap; + SamplerState sampler_GradientAOMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionMap); uniform half4 _EmissionMap_ST; + SamplerState sampler_EmissionMap; uniform half4 _EmissiveColor; - uniform sampler2D _MaskMap; + UNITY_DECLARE_TEX2D_NOSAMPLER(_MaskMap); uniform half4 _MaskMap_ST; + SamplerState sampler_MaskMap; uniform half _SmoothnessRear; uniform half _SmoothnessFront; uniform half _SmoothnessMax; @@ -172,18 +185,18 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D_Tessellation" float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw; half2 temp_cast_0 = (_MicroNormalTiling).xx; float2 uv_TexCoord77 = i.uv_texcoord * temp_cast_0; - o.Normal = BlendNormals( UnpackScaleNormal( tex2D( _NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( tex2D( _MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); + o.Normal = BlendNormals( UnpackScaleNormal( SAMPLE_TEXTURE2D( _NormalMap, sampler_NormalMap, uv_NormalMap ), _NormalStrength ) , UnpackScaleNormal( SAMPLE_TEXTURE2D( _MicroNormalMap, sampler_MicroNormalMap, uv_TexCoord77 ), _MicroNormalStrength ) ); float2 uv_DiffuseMap = i.uv_texcoord * _DiffuseMap_ST.xy + _DiffuseMap_ST.zw; - half3 hsvTorgb33 = RGBToHSV( tex2D( _DiffuseMap, uv_DiffuseMap ).rgb ); + half3 hsvTorgb33 = RGBToHSV( SAMPLE_TEXTURE2D( _DiffuseMap, sampler_DiffuseMap, uv_DiffuseMap ).rgb ); half3 hsvTorgb36 = HSVToRGB( half3(hsvTorgb33.x,( _TongueSaturation * hsvTorgb33.y ),( hsvTorgb33.z * _TongueBrightness )) ); float2 uv_GradientAOMap = i.uv_texcoord * _GradientAOMap_ST.xy + _GradientAOMap_ST.zw; - half4 tex2DNode31 = tex2D( _GradientAOMap, uv_GradientAOMap ); + half4 tex2DNode31 = SAMPLE_TEXTURE2D( _GradientAOMap, sampler_GradientAOMap, uv_GradientAOMap ); half3 lerpResult40 = lerp( ( _RearAO * hsvTorgb36 ) , ( hsvTorgb36 * _FrontAO ) , tex2DNode31.b); o.Albedo = lerpResult40; float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; - o.Emission = ( tex2D( _EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; + o.Emission = ( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, uv_EmissionMap ) * _EmissiveColor ).rgb; float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw; - half4 tex2DNode52 = tex2D( _MaskMap, uv_MaskMap ); + half4 tex2DNode52 = SAMPLE_TEXTURE2D( _MaskMap, sampler_MaskMap, uv_MaskMap ); o.Metallic = tex2DNode52.r; half lerpResult58 = lerp( _SmoothnessFront , _SmoothnessMax , tex2DNode52.a); half lerpResult60 = lerp( _SmoothnessRear , lerpResult58 , tex2DNode31.b); @@ -201,7 +214,7 @@ Shader "Reallusion/Amplify/RL_TongueShader_3D_Tessellation" Fallback "Diffuse" } /*ASEBEGIN -Version=19103 +Version=19105 Node;AmplifyShaderEditor.CommentaryNode;74;-3493.593,-1702.376;Inherit;False;2241.031;624.6102;;17;8;32;33;21;22;35;34;37;24;36;42;23;39;38;41;40;101;Base Color;0,1,0.1846018,1;0;0 Node;AmplifyShaderEditor.TexturePropertyNode;8;-3443.593,-1607.289;Inherit;True;Property;_DiffuseMap;Diffuse Map;5;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 Node;AmplifyShaderEditor.CommentaryNode;93;-4471.664,-192.7987;Inherit;False;667.9326;346.7067;Comment;2;12;31;Gradient AO Map;1,1,1,1;0;0 @@ -281,7 +294,7 @@ Node;AmplifyShaderEditor.WireNode;109;-272.2873,159.6325;Inherit;False;1;0;FLOAT Node;AmplifyShaderEditor.WireNode;114;-267.0723,488.1772;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;106;-274.8949,76.19246;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.WireNode;107;-277.5022,-59.39759;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;97;343.2724,31.8975;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_TongueShader_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;11;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 +Node;AmplifyShaderEditor.StandardSurfaceOutputNode;97;343.2724,31.8975;Half;False;True;-1;6;;0;0;Standard;Reallusion/Amplify/RL_TongueShader_3D_Tessellation;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;2;15;10;25;True;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;11;-1;0;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;32;0;8;0 WireConnection;33;0;32;0 WireConnection;31;0;12;0 @@ -361,4 +374,4 @@ WireConnection;97;5;112;0 WireConnection;97;6;113;0 WireConnection;97;7;114;0 ASEEND*/ -//CHKSM=A7D39E2658914A9F4373FDCC3F3EC29AF609C703 \ No newline at end of file +//CHKSM=94EB5A97F0B94733E40C2E7AFE0706BD7EF64A5C \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0be2ce3..31efc71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ Changelog ========= +### v 1.4.4.1 +- URP12 Shader flag pass & enable deferred rendering. + ### v 1.4.4 - Full wrinkle map specification implemented. - Wrinkle map manager controls script on body mesh. diff --git a/Editor/Compute/RLBakeShader.compute b/Editor/Compute/RLBakeShader.compute index 4b2490d..6cb2a44 100644 --- a/Editor/Compute/RLBakeShader.compute +++ b/Editor/Compute/RLBakeShader.compute @@ -15,6 +15,7 @@ #pragma kernel RLHeadMask #pragma kernel RLSkinMask #pragma kernel RLHeadWrinkleSmoothnessPack +#pragma kernel RLHeadWrinkleFlowPack #pragma kernel RLHeadMetallicGloss #pragma kernel RLSkinMetallicGloss #pragma kernel RLHeadAO @@ -101,6 +102,10 @@ TEX2D(Roughness1); TEX2D(Roughness2); TEX2D(Roughness3); +TEX2D(Flow1); +TEX2D(Flow2); +TEX2D(Flow3); + TEX2D(CavityAO); float smoothnessMin, smoothnessMax, smoothnessPower; float aoStrength; @@ -781,6 +786,20 @@ void RLHeadMask(uint3 id : SV_DispatchThreadID) Result[id.xy] = packed; } +[numthreads(1, 1, 1)] +void RLHeadWrinkleFlowPack(uint3 id : SV_DispatchThreadID) +{ + float2 uv = GetUV(id.xy); + + float flow1 = SAMPLE(Flow1, uv).g; + float flow2 = SAMPLE(Flow2, uv).g; + float flow3 = SAMPLE(Flow3, uv).g; + + float4 packed = float4(flow1, flow2, flow3, 1.0); + + Result[id.xy] = packed; +} + [numthreads(1, 1, 1)] void RLHeadWrinkleSmoothnessPack(uint3 id : SV_DispatchThreadID) { diff --git a/Editor/ComputeBake.cs b/Editor/ComputeBake.cs index afeffad..2fd0d0e 100644 --- a/Editor/ComputeBake.cs +++ b/Editor/ComputeBake.cs @@ -868,6 +868,9 @@ private Material BakeSkinMaterial(Material mat, string sourceName) Texture2D normal1 = GetMaterialTexture(mat, "_WrinkleNormalBlend1", true); Texture2D normal2 = GetMaterialTexture(mat, "_WrinkleNormalBlend2", true); Texture2D normal3 = GetMaterialTexture(mat, "_WrinkleNormalBlend3", true); + Texture2D flow1 = GetMaterialTexture(mat, "_WrinkleFlowMap1"); + Texture2D flow2 = GetMaterialTexture(mat, "_WrinkleFlowMap2"); + Texture2D flow3 = GetMaterialTexture(mat, "_WrinkleFlowMap3"); bool isHead = mat.GetFloatIf("BOOLEAN_IS_HEAD") > 0f; @@ -895,6 +898,7 @@ private Material BakeSkinMaterial(Material mat, string sourceName) Texture2D bakedNormalMap2 = normal2; Texture2D bakedNormalMap3 = normal3; Texture2D bakedSmoothnessPack = null; + Texture2D bakedFlowPack = null; if (isHead) { @@ -985,6 +989,9 @@ private Material BakeSkinMaterial(Material mat, string sourceName) smoothnessMin, smoothnessMax, smoothnessPower, microSmoothnessMod, rMSM, gMSM, bMSM, aMSM, earMSM, neckMSM, cheekMSM, foreheadMSM, upperLipMSM, chinMSM, unmaskedMSM, sourceName + "_Wrinkle_SmoothnessPack"); + + bakedFlowPack = BakeHeadWrinkleFlowPack(flow1, flow2, flow3, + sourceName + "_Wrinkle_FlowPack"); } } else @@ -1083,6 +1090,7 @@ private Material BakeSkinMaterial(Material mat, string sourceName) result.SetTextureIf("_WrinkleNormalBlend3", bakedNormalMap3); result.SetTextureIf("_WrinkleSmoothnessPack", bakedSmoothnessPack); + result.SetTextureIf("_WrinkleFlowPack", bakedFlowPack); } return result; @@ -2334,6 +2342,32 @@ private Texture2D BakeHeadWrinkleSmoothnessPack(Texture2D roughness1, Texture2D return null; } + private Texture2D BakeHeadWrinkleFlowPack(Texture2D flow1, Texture2D flow2, Texture2D flow3, + string name, string kernelName = "RLHeadWrinkleFlowPack") + { + Vector2Int maxSize = GetMaxSize(flow1, flow2, flow3); + ComputeBakeTexture bakeTarget = + new ComputeBakeTexture(maxSize, texturesFolder, name); + + ComputeShader bakeShader = Util.FindComputeShader(COMPUTE_SHADER); + if (bakeShader) + { + flow1 = CheckGray(flow1); + flow2 = CheckGray(flow2); + flow3 = CheckGray(flow3); + + int kernel = bakeShader.FindKernel(kernelName); + bakeTarget.Create(bakeShader, kernel); + bakeShader.SetTexture(kernel, "Flow1", flow1); + bakeShader.SetTexture(kernel, "Flow2", flow2); + bakeShader.SetTexture(kernel, "Flow3", flow3); + bakeShader.Dispatch(kernel, bakeTarget.width, bakeTarget.height, 1); + return bakeTarget.SaveAndReimport(); + } + + return null; + } + private Texture2D BakeHeadSubsurfaceMap(Texture2D subsurface, Texture2D NMUIL, Texture2D CFULC, Texture2D earNeck, float subsurfaceScale, diff --git a/Editor/Importer.cs b/Editor/Importer.cs index 840a52e..4a0467e 100644 --- a/Editor/Importer.cs +++ b/Editor/Importer.cs @@ -1492,6 +1492,15 @@ private void ConnectHQSkinMaterial(GameObject obj, string sourceName, Material s ConnectTextureTo(sourceName, mat, "_WrinkleRoughnessBlend3", "Wrinkle_Roughness3", matJson, "Wrinkle/Textures/Roughness_3"); + ConnectTextureTo(sourceName, mat, "_WrinkleFlowMap1", "Wrinkle_Flow1", + matJson, "Wrinkle/Textures/Flow_1"); + + ConnectTextureTo(sourceName, mat, "_WrinkleFlowMap2", "Wrinkle_Flow2", + matJson, "Wrinkle/Textures/Flow_2"); + + ConnectTextureTo(sourceName, mat, "_WrinkleFlowMap3", "Wrinkle_Flow3", + matJson, "Wrinkle/Textures/Flow_3"); + ApplyWrinkleMasks(mat); } @@ -1953,7 +1962,7 @@ private void ConnectHQHairMaterial(GameObject obj, string sourceName, Material s SetFloatPowerRange(mat, "_SecondarySpecularMultiplier", specMapStrength * specStrength2, 0.0125f, 0.125f, specularPowerMod); // set by template //mat.SetFloatIf("_SecondarySmoothness", 0.5f); - mat.SetFloatIf("_RimTransmissionIntensity", 0.31f * Mathf.Pow(rimTransmission, 0.25f)); + mat.SetFloatIf("_RimTransmissionIntensity", 0.75f * specMapStrength * Mathf.Pow(rimTransmission, 0.5f)); mat.SetFloatIf("_FlowMapFlipGreen", 1f - matJson.GetFloatValue("Custom Shader/Variable/TangentMapFlipGreen")); mat.SetFloatIf("_SpecularShiftMin", diff --git a/Editor/ImporterMenu.cs b/Editor/ImporterMenu.cs index dc01fd9..33b9e38 100644 --- a/Editor/ImporterMenu.cs +++ b/Editor/ImporterMenu.cs @@ -16,6 +16,8 @@ * along with CC_Unity_Tools. If not, see . */ +//#define SOUPDEV + using UnityEngine; using UnityEditor; using System.IO; @@ -147,6 +149,17 @@ public static void DoTest() Texture2D gradient = baker.BakeGradientMap("Assets" + Path.DirectorySeparatorChar + "Test", "Gradient"); } + [MenuItem("Reallusion/Dev/Color Convert", priority = 220)] + public static void DoCC() + { + // Aqua + Color c = new Color(34f / 255f, 47f / 255f, 46f / 255f); + // Authority + //Color c = new Color(10f / 255f, 21f / 255f, 29f / 255f); + + Debug.Log(Util.LinearTosRGB(c)); + } + [MenuItem("Reallusion/Dev/Channel Pack 1A", priority = 220)] public static void DoSet1A() { diff --git a/Editor/ImporterWindow.cs b/Editor/ImporterWindow.cs index b5bc869..02e84bd 100644 --- a/Editor/ImporterWindow.cs +++ b/Editor/ImporterWindow.cs @@ -821,13 +821,15 @@ private void OnGUIActionArea(Rect actionBlock) { if (AnimPlayerGUI.IsPlayerShown()) { + GameObject characterPrefab = WindowManager.GetSelectedOrPreviewCharacter(); WindowManager.HideAnimationPlayer(true); - ResetAllSceneViewCamera(); + ResetAllSceneViewCamera(characterPrefab); } else { + GameObject characterPrefab = WindowManager.GetSelectedOrPreviewCharacter(); WindowManager.ShowAnimationPlayer(); - ResetAllSceneViewCamera(); + ResetAllSceneViewCamera(characterPrefab); } } GUI.enabled = true; @@ -1291,11 +1293,14 @@ void RebuildCharacterPhysics() Repaint(); } - public static void ResetAllSceneViewCamera() + public static void ResetAllSceneViewCamera(GameObject targetOverride = null) { if (WindowManager.IsPreviewScene) { - GameObject obj = WindowManager.GetPreviewScene().GetPreviewCharacter(); + GameObject obj; + if (targetOverride) obj = targetOverride; + else obj = WindowManager.GetPreviewScene().GetPreviewCharacter(); + if (obj) { GameObject root = Util.GetScenePrefabInstanceRoot(obj); diff --git a/Editor/Pipeline.cs b/Editor/Pipeline.cs index c31720b..2759bf1 100644 --- a/Editor/Pipeline.cs +++ b/Editor/Pipeline.cs @@ -41,7 +41,7 @@ public enum MaterialQuality { None, Default, High, Baked } public static class Pipeline { - public const string VERSION = "1.4.4"; + public const string VERSION = "1.4.5"; #if HDRP_10_5_0_OR_NEWER // version diff --git a/Editor/PreviewScene.cs b/Editor/PreviewScene.cs index 00227c5..b901ef0 100644 --- a/Editor/PreviewScene.cs +++ b/Editor/PreviewScene.cs @@ -261,15 +261,18 @@ public void PostProcessingAndLighting() } #if UNITY_POST_PROCESSING_3_1_1 - PostProcessLayer ppl = camera.gameObject.AddComponent(); - PostProcessVolume ppv = camera.gameObject.AddComponent(); - PostProcessProfile volume = (PostProcessProfile)Util.FindAsset("RL Preview Scene Post Processing Volume Profile 3.1.1"); - ppl.volumeTrigger = camera.transform; - LayerMask everything = ~0; - ppl.volumeLayer = everything; - ppl.antialiasingMode = PostProcessLayer.Antialiasing.TemporalAntialiasing; - ppv.isGlobal = true; - ppv.profile = volume; + if (Pipeline.is3D) + { + PostProcessLayer ppl = camera.gameObject.AddComponent(); + PostProcessVolume ppv = camera.gameObject.AddComponent(); + PostProcessProfile volume = (PostProcessProfile)Util.FindAsset("RL Preview Scene Post Processing Volume Profile 3.1.1"); + ppl.volumeTrigger = camera.transform; + LayerMask everything = ~0; + ppl.volumeLayer = everything; + ppl.antialiasingMode = PostProcessLayer.Antialiasing.TemporalAntialiasing; + ppv.isGlobal = true; + ppv.profile = volume; + } #endif RestoreLighting(); diff --git a/Editor/Util.cs b/Editor/Util.cs index de2ce5e..e95e56f 100644 --- a/Editor/Util.cs +++ b/Editor/Util.cs @@ -121,8 +121,7 @@ public static bool IsSavedPrefabInSelection() return false; } - - + public static Color LinearTosRGBOld(Color c) { if (c.r < 0f) c.r = 0f; @@ -948,37 +947,47 @@ public static GameObject FindRootPrefabAssetFromSceneObject(Object sceneObject) return FindRootPrefabAsset(instanceRoot); } - public static void ResetPrefabTransforms(GameObject prefabObj) + public static void ResetPrefabTransforms(GameObject prefabRoot, GameObject prefabObj = null) { + if (!prefabObj && prefabRoot) + { + prefabObj = prefabRoot; + } + if (prefabObj) { GameObject source = PrefabUtility.GetCorrespondingObjectFromOriginalSource(prefabObj); + + // dont reset the root transform... if (source && source != prefabObj) { - bool resetPos = false; - bool resetRot = false; - bool resetSca = false; - if (prefabObj.transform.position != source.transform.position) resetPos = true; - if (prefabObj.transform.rotation != source.transform.rotation) resetRot = true; - if (prefabObj.transform.localScale != source.transform.localScale) resetSca = true; - if (resetPos) prefabObj.transform.position = source.transform.position; - if (resetRot) prefabObj.transform.rotation = source.transform.rotation; - if (resetSca) prefabObj.transform.localScale = source.transform.localScale; - /* - if (resetPos || resetRot || resetSca) - { - string report = "Resetting " + prefabObj.name + ":"; - if (resetPos) report += " Position"; - if (resetRot) report += " Rotation"; - if (resetSca) report += " Scale"; - Debug.Log(report); - } - */ + if (prefabObj != prefabRoot) + { + bool resetPos = false; + bool resetRot = false; + bool resetSca = false; + if (prefabObj.transform.localPosition != source.transform.localPosition) resetPos = true; + if (prefabObj.transform.localRotation != source.transform.localRotation) resetRot = true; + if (prefabObj.transform.localScale != source.transform.localScale) resetSca = true; + if (resetPos) prefabObj.transform.localPosition = source.transform.localPosition; + if (resetRot) prefabObj.transform.localRotation = source.transform.localRotation; + if (resetSca) prefabObj.transform.localScale = source.transform.localScale; + /* + if (resetPos || resetRot || resetSca) + { + string report = "Resetting " + prefabObj.name + ":"; + if (resetPos) report += " Position"; + if (resetRot) report += " Rotation"; + if (resetSca) report += " Scale"; + Debug.Log(report); + } + */ + } for (int i = 0; i < prefabObj.transform.childCount; i++) { Transform child = prefabObj.transform.GetChild(i); - ResetPrefabTransforms(child.gameObject); + ResetPrefabTransforms(prefabRoot, child.gameObject); } } } diff --git a/Editor/WindowManager.cs b/Editor/WindowManager.cs index 06eb956..af6f3a5 100644 --- a/Editor/WindowManager.cs +++ b/Editor/WindowManager.cs @@ -328,19 +328,44 @@ public static void TakeScreenShot() ScreenCapture.CaptureScreenshot(fileName); } - public static void ShowAnimationPlayer() + public static GameObject GetSelectedOrPreviewCharacter() { - GameObject scenePrefab = null; + GameObject characterPrefab = null; + + if (Selection.activeGameObject) + { + GameObject selectedPrefab = Util.GetScenePrefabInstanceRoot(Selection.activeGameObject); + if (selectedPrefab && selectedPrefab.GetComponent()) + { + characterPrefab = selectedPrefab; + } + } + + if (!characterPrefab && IsPreviewScene) + { + characterPrefab = GetPreviewScene().GetPreviewCharacter(); + } - if (IsPreviewScene) scenePrefab = GetPreviewScene().GetPreviewCharacter(); - if (!scenePrefab) scenePrefab = Selection.activeGameObject; + return characterPrefab; + } - AnimPlayerGUI.OpenPlayer(scenePrefab); - openedInPreviewScene = IsPreviewScene; + public static void ShowAnimationPlayer() + { + GameObject scenePrefab = GetSelectedOrPreviewCharacter(); + + if (scenePrefab) + { + AnimPlayerGUI.OpenPlayer(scenePrefab); + openedInPreviewScene = IsPreviewScene; - if (showRetarget) ShowAnimationRetargeter(); + if (showRetarget) ShowAnimationRetargeter(); - showPlayer = true; + showPlayer = true; + } + else + { + Debug.LogWarning("No compatible animated character!"); + } } public static void HideAnimationPlayer(bool updateShowPlayer) diff --git a/package.json b/package.json index b08c5bd..34518c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.soupday.cc3_unity_tools", - "version": "1.4.3", + "version": "1.4.5", "displayName": "CC/iC Unity Tools 3D", "description": "Unity importer for Character Creator 3 & 4 and iClone 7 and 8.", "unity": "2019.4", From 014556c600af6effec07250fc0b75460dcfa5066 Mon Sep 17 00:00:00 2001 From: soupday <79094830+soupday@users.noreply.github.com> Date: Mon, 27 Feb 2023 01:53:37 +0000 Subject: [PATCH 2/3] 1.4.5 Teeth template smoothness adjust. --- .../Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat | 2 +- .../Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat | 2 +- 3D/Material Templates/RL_Template_HQ_Teeth_3D.mat | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat b/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat index 2fbf6a7..8aad243 100644 --- a/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat +++ b/3D/Material Templates/Amplify/RL_Template_HQ_Teeth_3D_Amplify.mat @@ -71,7 +71,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 1 + - _SmoothnessPower: 0.75 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 diff --git a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat index 39a2a32..acf711b 100644 --- a/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat +++ b/3D/Material Templates/Amplify/Tessellation/RL_Template_HQ_Teeth_3D_Amplify_T.mat @@ -72,7 +72,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 1 + - _SmoothnessPower: 0.75 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 diff --git a/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat b/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat index 142cee8..72ed98a 100644 --- a/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat +++ b/3D/Material Templates/RL_Template_HQ_Teeth_3D.mat @@ -67,7 +67,7 @@ Material: - _RearAO: 0 - _SmoothnessFront: 0.498 - _SmoothnessMax: 0.88 - - _SmoothnessPower: 1 + - _SmoothnessPower: 0.75 - _SmoothnessRear: 0 - _TeethBrightness: 0.7 - _TeethSSS: 0.5 From 50e41c815c39ff61c3fa0635d5b56d26717243fb Mon Sep 17 00:00:00 2001 From: soupday <79094830+soupday@users.noreply.github.com> Date: Mon, 27 Feb 2023 01:56:51 +0000 Subject: [PATCH 3/3] 1.4.5 Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31efc71..25fd3a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Changelog ========= +### v 1.4.5 +- Flow maps added to wrinkle map system. +- URP & 3D shader pass and recompile. +- URP & 3D Baked wrinkle maps normal fix. +- HDRP Preview scene lighting update (to replicate some CC4 atomsphere setups) + ### v 1.4.4.1 - URP12 Shader flag pass & enable deferred rendering.