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.