summaryrefslogtreecommitdiff
path: root/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
committertylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
commiteb84bb298d2b95aec7b2ae12cbf25ac64f25379a (patch)
treeefd616a157df06ab661c6d56651853431ac6b08b /VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes
downloadunityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.gz
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.bz2
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.zip
move to self host
Diffstat (limited to 'VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes')
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat115
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbxbin0 -> 100028 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx.meta98
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat131
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.pngbin0 -> 559454 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png.meta88
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.pngbin0 -> 36367 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png.meta88
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.pngbin0 -> 390486 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png.meta88
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat2753
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat130
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat266
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc273
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc25
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc42
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc297
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc194
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc5
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc31
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc341
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc101
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc273
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc732
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc34
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc115
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc58
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc75
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc41
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc28
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc194
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc103
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc39
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc65
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc52
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc32
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc102
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc33
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc98
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc76
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc97
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc151
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader5454
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs15
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs.meta11
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader200
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat77
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat77
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat77
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs152
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs.meta11
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbxbin0 -> 101372 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx.meta97
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab207
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab.meta7
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader249
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset58
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs356
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs.meta17
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat78
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat.meta8
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader204
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader.meta9
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab71
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab.meta7
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbxbin0 -> 83420 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx.meta106
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.pngbin0 -> 8906 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png.meta110
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpgbin0 -> 8069 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg.meta110
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpgbin0 -> 31219 bytes
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg.meta88
117 files changed, 15704 insertions, 0 deletions
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat
new file mode 100644
index 00000000..95ea936d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat
@@ -0,0 +1,115 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BulgerTube
+ m_Shader: {fileID: 4800000, guid: d685ee26b37f5214593b251787ab0076, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Emission:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 152b9e0dce5785c4e9f210362d2426cf, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Metallic:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Occlusion:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OrificeData:
+ m_Texture: {fileID: 2800000, guid: 39365139f017e7d41975620e5c9af4ad, type: 2}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ 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:
+ - _BlendshapeBadScaleFix: 1
+ - _BlendshapePower: 1.5
+ - _BumpScale: 1
+ - _CellShadingSharpness: 0
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EmissionPower: 1
+ - _EntryOpenDuration: 0.05
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _OrificeChannel: 0
+ - _Parallax: 0.02
+ - _Shape1Depth: 0.03
+ - _Shape1Duration: 0.05
+ - _Shape2Depth: 0.06
+ - _Shape2Duration: 0.05
+ - _Shape3Depth: 0.3
+ - _Shape3Duration: 0.1
+ - _Shape4Duration: 0.1
+ - _Smoothness: 1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _ToonShading: 0
+ - _ToonSpecularIntensity: 0
+ - _ToonSpecularSize: 0
+ - _UVSec: 0
+ - _ZWrite: 1
+ - __dirty: 0
+ m_Colors:
+ - _Color: {r: 0.75854427, g: 0.25943398, b: 1, a: 1}
+ - _EmissionColor: {r: 0.5188679, g: 0.5188679, b: 0.5188679, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat.meta
new file mode 100644
index 00000000..0f75fec6
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/BulgerTube.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 67657039cc68b7047a40abca081d593f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic.meta
new file mode 100644
index 00000000..c28a6bf6
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b3c160f8569464e45a1348c52f725dd9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx
new file mode 100644
index 00000000..abef83dc
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx.meta
new file mode 100644
index 00000000..281ce59c
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.fbx.meta
@@ -0,0 +1,98 @@
+fileFormatVersion: 2
+guid: c7be0551503801242b50160fb3a102ae
+ModelImporter:
+ serializedVersion: 23
+ fileIDToRecycleName:
+ 100000: //RootNode
+ 400000: //RootNode
+ 2100000: PM3D_Sphere3D_4
+ 2300000: //RootNode
+ 3300000: //RootNode
+ 4300000: Human_Basic
+ 4300002: Human_Penis
+ externalObjects: {}
+ materials:
+ importMaterials: 1
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ motionNodeName:
+ rigImportErrors:
+ rigImportWarnings:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 1
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations: []
+ isReadable: 1
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ importVisibility: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ optimizeMeshForGPU: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVPackMargin: 4
+ useFileScale: 0
+ previousCalculatedGlobalScale: 1
+ hasPreviousCalculatedGlobalScale: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ importAnimation: 1
+ copyAvatar: 0
+ humanDescription:
+ serializedVersion: 2
+ human: []
+ skeleton: []
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 0
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ animationType: 0
+ humanoidOversampling: 1
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat
new file mode 100644
index 00000000..ca39dcab
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat
@@ -0,0 +1,131 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Human_Basic
+ m_Shader: {fileID: 4800000, guid: 7963c6f0f8df61643b628fa902468c5f, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: 16f567149263a034bae9c41996f80d7f, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Emission:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 481802ff70cb31242970f305c101d22b, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Metallic:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Occlusion:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ 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:
+ - _AlphaCutoff: 0.5
+ - _BuldgeOffset: 0.15
+ - _BuldgePower: 0.00304
+ - _BulgeOffset: 0.152
+ - _BulgePower: 0.104
+ - _BumpScale: 1
+ - _CellShadingSharpness: 0.796
+ - _CellShadingSmoothness: 0
+ - _Curvature: 0
+ - _Cutoff: 0.5
+ - _Debug: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EmissionPower: 1
+ - _EntranceStiffness: 0.01
+ - _Float3: 52.68
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _ID: 1
+ - _IDNormal: 2
+ - _ID_Normal: 1.7
+ - _ID_Oriface: 1.9
+ - _ID_Physics: 1.5
+ - _Length: 0.323013
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _OrificeChannel: 0
+ - _Parallax: 0.02
+ - _ReCurvature: 0
+ - _Shininess: 0.01
+ - _Smoothness: 1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _Squeeze: 0
+ - _SqueezeDist: 0.0259
+ - _SrcBlend: 1
+ - _Toon: 1
+ - _ToonShading: 0
+ - _ToonSpecularIntensity: 0
+ - _ToonSpecularSize: 0
+ - _TugArea: 0
+ - _TugOffset: 0
+ - _TugPoint: 0
+ - _UVSec: 0
+ - _Wriggle: 0
+ - _WriggleSpeed: 6.2
+ - _ZWrite: 1
+ - __dirty: 0
+ - _debug: 0
+ - _squeeze: 0.032
+ m_Colors:
+ - _Color: {r: 1, g: 0.79079133, b: 0.7122642, a: 0}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _TargetNormal: {r: 0, g: 0, b: -1, a: 0}
+ - _TargetPosition: {r: 0, g: 0, b: 0.37, a: 0}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat.meta
new file mode 100644
index 00000000..09067dbe
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2919ca9587d54e340adb81eaea3a6d0f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png
new file mode 100644
index 00000000..1af4fe90
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png.meta
new file mode 100644
index 00000000..1e03980f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_AlbedoTransparency.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 481802ff70cb31242970f305c101d22b
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 1
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png
new file mode 100644
index 00000000..dbe1075f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png.meta
new file mode 100644
index 00000000..98da7576
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_MetallicSmoothness.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 9cac8cfbb7e37034dad5be69b7246307
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 1
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png
new file mode 100644
index 00000000..4ee404b3
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png.meta
new file mode 100644
index 00000000..5101b9f8
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_PM3D_Sphere3D_4_Normal.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 16f567149263a034bae9c41996f80d7f
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 0
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 1
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 1
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat
new file mode 100644
index 00000000..72240dcb
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat
@@ -0,0 +1,2753 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Human_Basic_Poi
+ m_Shader: {fileID: 4800000, guid: eaa38c002ef5d6641ab21a1c1f6183ad, type: 3}
+ m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 2010
+ stringTagMap:
+ OptimizedShaderFolder: 6d998c22
+ OriginalShader: ".poiyomi/\u2605 Poiyomi Pro \u2605"
+ RenderType: Opaque
+ disabledShaderPasses:
+ - ALWAYS
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _1st_ShadeMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _2nd_ShadeMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _AlphaTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _AnisoTangentMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _AnisoTangentMap1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BRDFFallback:
+ m_Texture: {fileID: 8900000, guid: 1f79f71b84fc2844bb81e9ae4f5bc384, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BRDFMetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BRDFMetallicMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BRDFSpecularMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BackFaceTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BakedCubemap:
+ m_Texture: {fileID: 8900000, guid: 2f2de34b7954ecd4686bd45ffc93ae46, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BlueTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BulgeMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: 16f567149263a034bae9c41996f80d7f, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ClearcoatFallback:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ClearcoatMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ClipMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ClippingMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _CubeMap:
+ m_Texture: {fileID: 8900000, guid: 1f79f71b84fc2844bb81e9ae4f5bc384, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DecalMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DecalTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DecalTexture1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DecalTexture2:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DecalTexture3:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DepthGradient:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DepthMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveDetailNoise:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveEdgeGradient:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveNoiseTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveToTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DistortionFlowTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DistortionFlowTexture1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DistortionMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Emission:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMask1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionScrollingCurve:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionScrollingCurve1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _FlipbookMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _FlipbookTexArray:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _GlitterColorMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _GlitterMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _GlitterTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _GrabPassBlendMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _GreenTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _HSVMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _HoloAlphaMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _IridescenceMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _IridescenceNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _IridescenceRamp:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _LightingAOTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _LightingDetailShadows:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _LightingShadowMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainColorAdjustTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainFadeTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 481802ff70cb31242970f305c101d22b, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Matcap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Matcap2:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Matcap2Mask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MatcapMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Metallic:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicTintMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MirrorTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Occlusion:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OrificeData:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OutlineMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OutlineTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PanoCubeMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PanoMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PanosphereTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxHeightMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxHeightMapMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxInternalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxInternalMapMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PathingColorMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PathingMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RGBMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Ramp:
+ m_Texture: {fileID: 2800000, guid: 4122f021ef68dbd4db09043994cb84f5, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RampSelectionMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RedTexure:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ReflectivityMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RgbNormalA:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RgbNormalB:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RgbNormalG:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RgbNormalR:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RimEnviroMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RimMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RimTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RimWidthNoiseTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SSSThicknessMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SkinLUT:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SmoothnessMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpawnInNoise:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularAnisoJitterMacro:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularAnisoJitterMacro1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularAnisoJitterMicro:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularAnisoJitterMicro1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMap1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMask1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMetallicMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMetallicMap1:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _TextGlyphs:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ThicknessMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ToonRamp:
+ m_Texture: {fileID: 2800000, guid: 61bd594533da4fc42bd46ef93ba5a4f6, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VertexManipulationHeightMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VideoDebugTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VideoGameboyRamp:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VideoMaskTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VideoPixelTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VoronoiMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _VoronoiNoise:
+ 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:
+ - DSGI: 0
+ - Instancing: 0
+ - LightmapFlags: 0
+ - _1st2nd_Shades_Feather: 0.0001
+ - _1st2nd_Shades_FeatherAnimated: 0
+ - _1stShadeMapMask_Inverse: 0
+ - _1stShadeMapMask_InverseAnimated: 0
+ - _1st_ShadeColorAnimated: 0
+ - _1st_ShadeMapAnimated: 0
+ - _1st_ShadeMapPanAnimated: 0
+ - _1st_ShadeMapUV: 0
+ - _1st_ShadeMapUVAnimated: 0
+ - _2ndShadeMapMask_Inverse: 0
+ - _2ndShadeMapMask_InverseAnimated: 0
+ - _2nd_ShadeColorAnimated: 0
+ - _2nd_ShadeMapAnimated: 0
+ - _2nd_ShadeMapPanAnimated: 0
+ - _2nd_ShadeMapUV: 0
+ - _2nd_ShadeMapUVAnimated: 0
+ - _AOStrength: 1
+ - _AOStrengthAnimated: 0
+ - _AdvMode: 0
+ - _AlphaCutoff: 0.5
+ - _AlphaMod: 0
+ - _AlphaModAnimated: 0
+ - _AlphaPremultiply: 0
+ - _AlphaPremultiplyAnimated: 0
+ - _AlphaToMask: 0
+ - _AlphaToMaskAnimated: 0
+ - _AngleCompareTo: 0
+ - _AngleCompareToAnimated: 0
+ - _AngleForwardDirectionAnimated: 0
+ - _AngleMinAlpha: 0
+ - _AngleMinAlphaAnimated: 0
+ - _AngleType: 0
+ - _AngleTypeAnimated: 0
+ - _AnisoSpec1Alpha: 1
+ - _AnisoSpec1Alpha1: 1
+ - _AnisoSpec1Alpha1Animated: 0
+ - _AnisoSpec1AlphaAnimated: 0
+ - _AnisoSpec2Alpha: 1
+ - _AnisoSpec2Alpha1: 1
+ - _AnisoSpec2Alpha1Animated: 0
+ - _AnisoSpec2AlphaAnimated: 0
+ - _AnisoTangentMap1Animated: 0
+ - _AnisoTangentMap1PanAnimated: 0
+ - _AnisoTangentMap1UV: 0
+ - _AnisoTangentMap1UVAnimated: 0
+ - _AnisoTangentMapAnimated: 0
+ - _AnisoTangentMapPanAnimated: 0
+ - _AnisoTangentMapUV: 0
+ - _AnisoTangentMapUVAnimated: 0
+ - _AnisoUseTangentMap: 0
+ - _AnisoUseTangentMap1: 0
+ - _AnisoUseTangentMap1Animated: 0
+ - _AnisoUseTangentMapAnimated: 0
+ - _AnisotropicAX: 0.25
+ - _AnisotropicAY: 0.75
+ - _AnisotropicReflection: 0
+ - _AnisotropicSpecular: 0
+ - _AttenuationMultiplier: 0
+ - _AttenuationMultiplierAnimated: 0
+ - _AudioLinkAddEmission1Band: 0
+ - _AudioLinkAddEmissionBand: 0
+ - _AudioLinkAnimToggle: 1
+ - _AudioLinkAverageRange: 0.5
+ - _AudioLinkAveraging: 0
+ - _AudioLinkDebugAnimate: 0
+ - _AudioLinkDebugBass: 0
+ - _AudioLinkDebugHighMid: 0
+ - _AudioLinkDebugLowMid: 0
+ - _AudioLinkDebugTreble: 0
+ - _AudioLinkDecal0AlphaBand: 0
+ - _AudioLinkDecal0EmissionBand: 0
+ - _AudioLinkDecal0RotationBand: 0
+ - _AudioLinkDecal0ScaleBand: 0
+ - _AudioLinkDecal1AlphaBand: 0
+ - _AudioLinkDecal1EmissionBand: 0
+ - _AudioLinkDecal1RotationBand: 0
+ - _AudioLinkDecal1ScaleBand: 0
+ - _AudioLinkDecal2AlphaBand: 0
+ - _AudioLinkDecal2EmissionBand: 0
+ - _AudioLinkDecal2RotationBand: 0
+ - _AudioLinkDecal2ScaleBand: 0
+ - _AudioLinkDecal3AlphaBand: 0
+ - _AudioLinkDecal3EmissionBand: 0
+ - _AudioLinkDecal3RotationBand: 0
+ - _AudioLinkDecal3ScaleBand: 0
+ - _AudioLinkDelay: 0
+ - _AudioLinkDissolveAlphaBand: 0
+ - _AudioLinkDissolveDetailBand: 0
+ - _AudioLinkEmission1CenterOutAddBand: 0
+ - _AudioLinkEmission1CenterOutBand: 0
+ - _AudioLinkEmission1StrengthBand: 0
+ - _AudioLinkEmissionCenterOutAddBand: 0
+ - _AudioLinkEmissionCenterOutBand: 0
+ - _AudioLinkEmissionStrengthBand: 0
+ - _AudioLinkFlipbookAlphaBand: 0
+ - _AudioLinkFlipbookEmissionBand: 0
+ - _AudioLinkFlipbookFrameBand: 0
+ - _AudioLinkFlipbookScaleBand: 0
+ - _AudioLinkHelp: 0
+ - _AudioLinkPathEmissionAddBandB: 0
+ - _AudioLinkPathEmissionAddBandG: 0
+ - _AudioLinkPathEmissionAddBandR: 0
+ - _AudioLinkPathTimeOffsetBandB: 0
+ - _AudioLinkPathTimeOffsetBandG: 0
+ - _AudioLinkPathTimeOffsetBandR: 0
+ - _AudioLinkPathWidthOffsetBandB: 0
+ - _AudioLinkPathWidthOffsetBandG: 0
+ - _AudioLinkPathWidthOffsetBandR: 0
+ - _AudioLinkRimBrightnessBand: 0
+ - _AudioLinkRimEmissionBand: 0
+ - _AudioLinkRimWidthBand: 0
+ - _AudioLinkTextureVisualization: 0
+ - _BRDFAnisotropy: 0
+ - _BRDFAnisotropyAnimated: 0
+ - _BRDFFallbackAnimated: 0
+ - _BRDFForceFallback: 0
+ - _BRDFForceFallbackAnimated: 0
+ - _BRDFGlossiness: 0
+ - _BRDFGlossinessAnimated: 0
+ - _BRDFInvertGlossiness: 0
+ - _BRDFInvertGlossinessAnimated: 0
+ - _BRDFMetallic: 0
+ - _BRDFMetallicAnimated: 0
+ - _BRDFMetallicGlossMapAnimated: 0
+ - _BRDFMetallicGlossMapPanAnimated: 0
+ - _BRDFMetallicGlossMapToolTip: 0
+ - _BRDFMetallicGlossMapToolTipAnimated: 0
+ - _BRDFMetallicGlossMapUV: 0
+ - _BRDFMetallicGlossMapUVAnimated: 0
+ - _BRDFMetallicMapAnimated: 0
+ - _BRDFMetallicMapPanAnimated: 0
+ - _BRDFMetallicMapToolTip: 0
+ - _BRDFMetallicMapToolTipAnimated: 0
+ - _BRDFMetallicMapUV: 0
+ - _BRDFMetallicMapUVAnimated: 0
+ - _BRDFMetallicSpecIgnoresBaseColor: 0
+ - _BRDFReflectance: 0.5
+ - _BRDFReflectanceAnimated: 0
+ - _BRDFReflectionsEnabled: 1
+ - _BRDFReflectionsEnabledAnimated: 0
+ - _BRDFSpecularEnabled: 1
+ - _BRDFSpecularEnabledAnimated: 0
+ - _BRDFSpecularMapAnimated: 0
+ - _BRDFSpecularMapPanAnimated: 0
+ - _BRDFSpecularMapToolTip: 0
+ - _BRDFSpecularMapToolTipAnimated: 0
+ - _BRDFSpecularMapUV: 0
+ - _BRDFSpecularMapUVAnimated: 0
+ - _BackFaceDetailIntensity: 1
+ - _BackFaceEmissionStrength: 0
+ - _BackFaceEnabled: 0
+ - _BackFaceHueShift: 0
+ - _BackFaceReplaceAlpha: 0
+ - _BackFaceTextureUV: 0
+ - _BaseColor_Step: 0.5
+ - _BaseColor_StepAnimated: 0
+ - _BaseShade_Feather: 0.0001
+ - _BaseShade_FeatherAnimated: 0
+ - _BlackLightMaskClearCoat: 4
+ - _BlackLightMaskClearCoatAnimated: 0
+ - _BlackLightMaskDebug: 0
+ - _BlackLightMaskDebugAnimated: 0
+ - _BlackLightMaskDissolve: 4
+ - _BlackLightMaskDissolveAnimated: 0
+ - _BlackLightMaskEmission: 4
+ - _BlackLightMaskEmission2: 4
+ - _BlackLightMaskEmission2Animated: 0
+ - _BlackLightMaskEmissionAnimated: 0
+ - _BlackLightMaskEnabled: 0
+ - _BlackLightMaskEnabledAnimated: 0
+ - _BlackLightMaskEndAnimated: 0
+ - _BlackLightMaskFlipbook: 4
+ - _BlackLightMaskFlipbookAnimated: 0
+ - _BlackLightMaskGlitter: 4
+ - _BlackLightMaskGlitterAnimated: 0
+ - _BlackLightMaskIridescence: 4
+ - _BlackLightMaskIridescenceAnimated: 0
+ - _BlackLightMaskKeysAnimated: 0
+ - _BlackLightMaskMatcap: 4
+ - _BlackLightMaskMatcap2: 4
+ - _BlackLightMaskMatcap2Animated: 0
+ - _BlackLightMaskMatcapAnimated: 0
+ - _BlackLightMaskMetallic: 4
+ - _BlackLightMaskMetallicAnimated: 0
+ - _BlackLightMaskPanosphere: 4
+ - _BlackLightMaskPanosphereAnimated: 0
+ - _BlackLightMaskStartAnimated: 0
+ - _BlendMode: 0
+ - _BlendOp: 0
+ - _BlendOpAlpha: 0
+ - _BlendOpAlphaAnimated: 0
+ - _BlendOpAnimated: 0
+ - _BlendshapeBadScaleFix: 1
+ - _BlendshapePower: 1
+ - _BlueColorAnimated: 0
+ - _BlueTextureAnimated: 0
+ - _BuldgeFadeLength: 0.02
+ - _BuldgeFadeLengthAnimated: 0
+ - _BuldgeHeight: 0.02
+ - _BuldgeHeightAnimated: 0
+ - _BuldgeOffset: 0.15
+ - _BuldgePower: 0.00304
+ - _BulgeMaskAnimated: 0
+ - _BulgeOffset: 0.053
+ - _BulgePower: 0.00072
+ - _BumpMapAnimated: 0
+ - _BumpMapPanAnimated: 0
+ - _BumpMapUV: 0
+ - _BumpMapUVAnimated: 0
+ - _BumpScale: 1
+ - _BumpScaleAnimated: 0
+ - _CameraAngleMax: 90
+ - _CameraAngleMaxAnimated: 0
+ - _CameraAngleMin: 45
+ - _CameraAngleMinAnimated: 0
+ - _CellShadingSharpness: 0.723
+ - _CellShadingSmoothness: 0
+ - _ClearCoat: 0
+ - _Clearcoat: 1
+ - _ClearcoatAnimated: 0
+ - _ClearcoatAnisotropy: 0
+ - _ClearcoatAnisotropyAnimated: 0
+ - _ClearcoatEnableReflections: 1
+ - _ClearcoatEnableReflectionsAnimated: 0
+ - _ClearcoatEnableSpecular: 1
+ - _ClearcoatEnableSpecularAnimated: 0
+ - _ClearcoatFallbackAnimated: 0
+ - _ClearcoatForceFallback: 0
+ - _ClearcoatForceFallbackAnimated: 0
+ - _ClearcoatGlossiness: 0
+ - _ClearcoatGlossinessAnimated: 0
+ - _ClearcoatHelpBox: 0
+ - _ClearcoatInvertSmoothness: 0
+ - _ClearcoatInvertSmoothnessAnimated: 0
+ - _ClearcoatMapAnimated: 0
+ - _ClearcoatMapPanAnimated: 0
+ - _ClearcoatMapUV: 0
+ - _ClearcoatMapUVAnimated: 0
+ - _ClearcoatSmoothness: 0.8
+ - _ClearcoatStrength: 1
+ - _ClippingMaskAnimated: 0
+ - _ClippingMaskPanAnimated: 0
+ - _ClippingMaskUV: 0
+ - _ClippingMaskUVAnimated: 0
+ - _ColorAnimated: 0
+ - _ColorMask: 15
+ - _ColorMaskAnimated: 0
+ - _ContinuousDissolve: 0
+ - _ContinuousDissolveAnimated: 0
+ - _CubeMapAnimated: 0
+ - _Cull: 2
+ - _CullAnimated: 0
+ - _Culling: 2
+ - _Curvature: 0
+ - _Cutoff: 0.5
+ - _CutoffAnimated: 0
+ - _Debug: 1
+ - _DebugCameraData: 0
+ - _DebugCameraDataAnimated: 0
+ - _DebugEnabled: 0
+ - _DebugLightingData: 0
+ - _DebugLightingDataAnimated: 0
+ - _DebugMeshData: 0
+ - _DebugMeshDataAnimated: 0
+ - _Decal0Depth: 0
+ - _Decal1Depth: 0
+ - _Decal2Depth: 0
+ - _Decal3Depth: 0
+ - _DecalBlendAlpha: 1
+ - _DecalBlendAlpha1: 1
+ - _DecalBlendAlpha1Animated: 0
+ - _DecalBlendAlpha2: 1
+ - _DecalBlendAlpha2Animated: 0
+ - _DecalBlendAlpha3: 1
+ - _DecalBlendAlpha3Animated: 0
+ - _DecalBlendAlphaAnimated: 0
+ - _DecalBlendType: 0
+ - _DecalBlendType1: 0
+ - _DecalBlendType1Animated: 0
+ - _DecalBlendType2: 0
+ - _DecalBlendType2Animated: 0
+ - _DecalBlendType3: 0
+ - _DecalBlendType3Animated: 0
+ - _DecalBlendTypeAnimated: 0
+ - _DecalColor1Animated: 0
+ - _DecalColor2Animated: 0
+ - _DecalColor3Animated: 0
+ - _DecalColorAnimated: 0
+ - _DecalEmissionStrength: 0
+ - _DecalEmissionStrength1: 0
+ - _DecalEmissionStrength1Animated: 0
+ - _DecalEmissionStrength2: 0
+ - _DecalEmissionStrength2Animated: 0
+ - _DecalEmissionStrength3: 0
+ - _DecalEmissionStrength3Animated: 0
+ - _DecalEmissionStrengthAnimated: 0
+ - _DecalEnabled: 0
+ - _DecalEnabled1: 0
+ - _DecalEnabled2: 0
+ - _DecalEnabled3: 0
+ - _DecalHueShift: 0
+ - _DecalHueShift1: 0
+ - _DecalHueShift1Animated: 0
+ - _DecalHueShift2: 0
+ - _DecalHueShift2Animated: 0
+ - _DecalHueShift3: 0
+ - _DecalHueShift3Animated: 0
+ - _DecalHueShiftAnimated: 0
+ - _DecalHueShiftEnabled: 0
+ - _DecalHueShiftEnabled1: 0
+ - _DecalHueShiftEnabled1Animated: 0
+ - _DecalHueShiftEnabled2: 0
+ - _DecalHueShiftEnabled2Animated: 0
+ - _DecalHueShiftEnabled3: 0
+ - _DecalHueShiftEnabled3Animated: 0
+ - _DecalHueShiftEnabledAnimated: 0
+ - _DecalHueShiftSpeed: 0
+ - _DecalHueShiftSpeed1: 0
+ - _DecalHueShiftSpeed1Animated: 0
+ - _DecalHueShiftSpeed2: 0
+ - _DecalHueShiftSpeed2Animated: 0
+ - _DecalHueShiftSpeed3: 0
+ - _DecalHueShiftSpeed3Animated: 0
+ - _DecalHueShiftSpeedAnimated: 0
+ - _DecalMaskAnimated: 0
+ - _DecalMaskPanAnimated: 0
+ - _DecalMaskUV: 0
+ - _DecalMaskUVAnimated: 0
+ - _DecalPosition1Animated: 0
+ - _DecalPosition2Animated: 0
+ - _DecalPosition3Animated: 0
+ - _DecalPositionAnimated: 0
+ - _DecalRotation: 0
+ - _DecalRotation1: 0
+ - _DecalRotation1Animated: 0
+ - _DecalRotation2: 0
+ - _DecalRotation2Animated: 0
+ - _DecalRotation3: 0
+ - _DecalRotation3Animated: 0
+ - _DecalRotationAnimated: 0
+ - _DecalRotationSpeed: 0
+ - _DecalRotationSpeed1: 0
+ - _DecalRotationSpeed1Animated: 0
+ - _DecalRotationSpeed2: 0
+ - _DecalRotationSpeed2Animated: 0
+ - _DecalRotationSpeed3: 0
+ - _DecalRotationSpeed3Animated: 0
+ - _DecalRotationSpeedAnimated: 0
+ - _DecalScale1Animated: 0
+ - _DecalScale2Animated: 0
+ - _DecalScale3Animated: 0
+ - _DecalScaleAnimated: 0
+ - _DecalTexture1Animated: 0
+ - _DecalTexture1PanAnimated: 0
+ - _DecalTexture1UV: 0
+ - _DecalTexture1UVAnimated: 0
+ - _DecalTexture2Animated: 0
+ - _DecalTexture2PanAnimated: 0
+ - _DecalTexture2UV: 0
+ - _DecalTexture2UVAnimated: 0
+ - _DecalTexture3Animated: 0
+ - _DecalTexture3PanAnimated: 0
+ - _DecalTexture3UV: 0
+ - _DecalTexture3UVAnimated: 0
+ - _DecalTextureAnimated: 0
+ - _DecalTexturePanAnimated: 0
+ - _DecalTextureUV: 0
+ - _DecalTextureUVAnimated: 0
+ - _DecalTiled: 0
+ - _DecalTiled1: 0
+ - _DecalTiled1Animated: 0
+ - _DecalTiled2: 0
+ - _DecalTiled2Animated: 0
+ - _DecalTiled3: 0
+ - _DecalTiled3Animated: 0
+ - _DecalTiledAnimated: 0
+ - _DepthAlphaMax: 1
+ - _DepthAlphaMaxAnimated: 0
+ - _DepthAlphaMin: 1
+ - _DepthAlphaMinAnimated: 0
+ - _DepthGlowColorAnimated: 0
+ - _DepthGlowEmission: 3
+ - _DepthGlowEmissionAnimated: 0
+ - _DepthGradientAnimated: 0
+ - _DepthGradientBlend: 0
+ - _DepthGradientBlendAnimated: 0
+ - _DepthGradientPanAnimated: 0
+ - _DepthGradientTextureUV: 0
+ - _DepthGradientTextureUVAnimated: 0
+ - _DepthGradientUV: 0
+ - _DepthGradientUVAnimated: 0
+ - _DepthMaskAnimated: 0
+ - _DepthMaskPanAnimated: 0
+ - _DepthMaskUV: 0
+ - _DepthMaskUVAnimated: 0
+ - _DetailBrightness: 1
+ - _DetailBrightnessAnimated: 0
+ - _DetailEnabled: 0
+ - _DetailMaskAnimated: 0
+ - _DetailMaskPanAnimated: 0
+ - _DetailMaskUV: 0
+ - _DetailMaskUVAnimated: 0
+ - _DetailNormalMapAnimated: 0
+ - _DetailNormalMapPanAnimated: 0
+ - _DetailNormalMapScale: 1
+ - _DetailNormalMapScaleAnimated: 0
+ - _DetailNormalMapUV: 0
+ - _DetailNormalMapUVAnimated: 0
+ - _DetailTexAnimated: 0
+ - _DetailTexIntensity: 1
+ - _DetailTexIntensityAnimated: 0
+ - _DetailTexPanAnimated: 0
+ - _DetailTexUV: 0
+ - _DetailTexUVAnimated: 0
+ - _DetailTintAnimated: 0
+ - _DisableDirectionalInAdd: 1
+ - _DissolveAlpha: 0
+ - _DissolveAlpha0: 0
+ - _DissolveAlpha0Animated: 0
+ - _DissolveAlpha1: 0
+ - _DissolveAlpha1Animated: 0
+ - _DissolveAlpha2: 0
+ - _DissolveAlpha2Animated: 0
+ - _DissolveAlpha3: 0
+ - _DissolveAlpha3Animated: 0
+ - _DissolveAlpha4: 0
+ - _DissolveAlpha4Animated: 0
+ - _DissolveAlpha5: 0
+ - _DissolveAlpha5Animated: 0
+ - _DissolveAlpha6: 0
+ - _DissolveAlpha6Animated: 0
+ - _DissolveAlpha7: 0
+ - _DissolveAlpha7Animated: 0
+ - _DissolveAlpha8: 0
+ - _DissolveAlpha8Animated: 0
+ - _DissolveAlpha9: 0
+ - _DissolveAlpha9Animated: 0
+ - _DissolveAlphaAnimated: 0
+ - _DissolveCoordinates: 0
+ - _DissolveDetailNoiseAnimated: 0
+ - _DissolveDetailNoisePanAnimated: 0
+ - _DissolveDetailNoiseUV: 0
+ - _DissolveDetailNoiseUVAnimated: 0
+ - _DissolveDetailStrength: 0.1
+ - _DissolveDetailStrengthAnimated: 0
+ - _DissolveEdgeColorAnimated: 0
+ - _DissolveEdgeEmission: 0
+ - _DissolveEdgeEmissionAnimated: 0
+ - _DissolveEdgeGradientAnimated: 0
+ - _DissolveEdgeHardness: 0.5
+ - _DissolveEdgeHardnessAnimated: 0
+ - _DissolveEdgeHueShift: 0
+ - _DissolveEdgeHueShiftAnimated: 0
+ - _DissolveEdgeHueShiftEnabled: 0
+ - _DissolveEdgeHueShiftEnabledAnimated: 0
+ - _DissolveEdgeHueShiftSpeed: 0
+ - _DissolveEdgeHueShiftSpeedAnimated: 0
+ - _DissolveEdgeWidth: 0.025
+ - _DissolveEdgeWidthAnimated: 0
+ - _DissolveEmission1Side: 2
+ - _DissolveEmission1SideAnimated: 0
+ - _DissolveEmissionSide: 2
+ - _DissolveEmissionSideAnimated: 0
+ - _DissolveEndPointAnimated: 0
+ - _DissolveHueShift: 0
+ - _DissolveHueShiftAnimated: 0
+ - _DissolveHueShiftEnabled: 0
+ - _DissolveHueShiftEnabledAnimated: 0
+ - _DissolveHueShiftSpeed: 0
+ - _DissolveHueShiftSpeedAnimated: 0
+ - _DissolveInvertDetailNoise: 0
+ - _DissolveInvertDetailNoiseAnimated: 0
+ - _DissolveInvertNoise: 0
+ - _DissolveInvertNoiseAnimated: 0
+ - _DissolveMaskAnimated: 0
+ - _DissolveMaskInvert: 0
+ - _DissolveMaskInvertAnimated: 0
+ - _DissolveMaskPanAnimated: 0
+ - _DissolveMaskUV: 0
+ - _DissolveMaskUVAnimated: 0
+ - _DissolveNoiseTextureAnimated: 0
+ - _DissolveNoiseTexturePanAnimated: 0
+ - _DissolveNoiseTextureUV: 0
+ - _DissolveNoiseTextureUVAnimated: 0
+ - _DissolveP2PEdgeLength: 0.1
+ - _DissolveP2PEdgeLengthAnimated: 0
+ - _DissolveP2PWorldLocal: 0
+ - _DissolveP2PWorldLocalAnimated: 0
+ - _DissolveProgress: 0
+ - _DissolveStartPointAnimated: 0
+ - _DissolveStrength: 1
+ - _DissolveTextureColorAnimated: 0
+ - _DissolveToEmissionStrength: 0
+ - _DissolveToEmissionStrengthAnimated: 0
+ - _DissolveToTextureAnimated: 0
+ - _DissolveToTexturePanAnimated: 0
+ - _DissolveToTextureUV: 0
+ - _DissolveToTextureUVAnimated: 0
+ - _DissolveType: 1
+ - _DissolveTypeAnimated: 0
+ - _DissolveUseVertexColors: 0
+ - _DissolveUseVertexColorsAnimated: 0
+ - _DistortionFlowTexture1Animated: 0
+ - _DistortionFlowTextureAnimated: 0
+ - _DistortionMaskAnimated: 0
+ - _DistortionMaskPanAnimated: 0
+ - _DistortionMaskUV: 0
+ - _DistortionMaskUVAnimated: 0
+ - _DistortionSpeed1Animated: 0
+ - _DistortionSpeedAnimated: 0
+ - _DistortionStrength: 0.5
+ - _DistortionStrength1: 0.5
+ - _DistortionStrength1Animated: 0
+ - _DistortionStrength1AudioLinkBand: 0
+ - _DistortionStrengthAnimated: 0
+ - _DistortionStrengthAudioLinkBand: 0
+ - _DitherGradient: 0.1
+ - _DitherGradientAnimated: 0
+ - _DitheringEnabled: 0
+ - _DitheringEnabledAnimated: 0
+ - _DstBlend: 0
+ - _DstBlendAnimated: 0
+ - _Emission1CenterOutAddAudioLinkwidth: 1
+ - _Emission1CenterOutAudioLinkWidth: 1
+ - _EmissionBaseColorAsMap: 0
+ - _EmissionBaseColorAsMap1: 0
+ - _EmissionBaseColorAsMap1Animated: 0
+ - _EmissionBaseColorAsMapAnimated: 0
+ - _EmissionBlinkingEnabled: 0
+ - _EmissionBlinkingEnabled1: 0
+ - _EmissionBlinkingEnabledAnimated: 0
+ - _EmissionBlinkingOffset: 0
+ - _EmissionBlinkingOffset1: 0
+ - _EmissionBlinkingOffset1Animated: 0
+ - _EmissionBlinkingOffsetAnimated: 0
+ - _EmissionCenterOutAddAudioLinkwidth: 1
+ - _EmissionCenterOutAudioLinkWidth: 1
+ - _EmissionCenterOutEnabled: 0
+ - _EmissionCenterOutEnabled1: 0
+ - _EmissionCenterOutEnabled1Animated: 0
+ - _EmissionCenterOutEnabledAnimated: 0
+ - _EmissionCenterOutSpeed: 5
+ - _EmissionCenterOutSpeed1: 5
+ - _EmissionCenterOutSpeed1Animated: 0
+ - _EmissionCenterOutSpeedAnimated: 0
+ - _EmissionColor1Animated: 0
+ - _EmissionColorAnimated: 0
+ - _EmissionHueShift: 0
+ - _EmissionHueShift1: 0
+ - _EmissionHueShift1Animated: 0
+ - _EmissionHueShiftAnimated: 0
+ - _EmissionHueShiftEnabled: 0
+ - _EmissionHueShiftEnabled1: 0
+ - _EmissionHueShiftEnabled1Animated: 0
+ - _EmissionHueShiftEnabledAnimated: 0
+ - _EmissionHueShiftSpeed: 0
+ - _EmissionHueShiftSpeed1: 0
+ - _EmissionMap1Animated: 0
+ - _EmissionMap1PanAnimated: 0
+ - _EmissionMap1UV: 0
+ - _EmissionMap1UVAnimated: 0
+ - _EmissionMapAnimated: 0
+ - _EmissionMapPanAnimated: 0
+ - _EmissionMapUV: 0
+ - _EmissionMapUVAnimated: 0
+ - _EmissionMask1Animated: 0
+ - _EmissionMask1PanAnimated: 0
+ - _EmissionMask1UV: 0
+ - _EmissionMask1UVAnimated: 0
+ - _EmissionMaskAnimated: 0
+ - _EmissionMaskPanAnimated: 0
+ - _EmissionMaskUV: 0
+ - _EmissionMaskUVAnimated: 0
+ - _EmissionPower: 1
+ - _EmissionReplace: 0
+ - _EmissionReplaceAnimated: 0
+ - _EmissionScrollingCurve1Animated: 0
+ - _EmissionScrollingCurveAnimated: 0
+ - _EmissionScrollingOffset: 0
+ - _EmissionScrollingOffset1: 0
+ - _EmissionScrollingOffset1Animated: 0
+ - _EmissionScrollingOffsetAnimated: 0
+ - _EmissionScrollingUseCurve: 0
+ - _EmissionScrollingUseCurve1: 0
+ - _EmissionScrollingUseCurve1Animated: 0
+ - _EmissionScrollingUseCurveAnimated: 0
+ - _EmissionScrollingVertexColor: 0
+ - _EmissionScrollingVertexColor1: 0
+ - _EmissionScrollingVertexColor1Animated: 0
+ - _EmissionScrollingVertexColorAnimated: 0
+ - _EmissionStrength: 0
+ - _EmissionStrength1: 0
+ - _EmissionStrength1Animated: 0
+ - _EmissionStrengthAnimated: 0
+ - _EmissionToDiffuse: 0
+ - _EmissiveBlink_Max: 1
+ - _EmissiveBlink_Max1: 1
+ - _EmissiveBlink_Max1Animated: 0
+ - _EmissiveBlink_MaxAnimated: 0
+ - _EmissiveBlink_Min: 0
+ - _EmissiveBlink_Min1: 0
+ - _EmissiveBlink_Min1Animated: 0
+ - _EmissiveBlink_MinAnimated: 0
+ - _EmissiveBlink_Velocity: 4
+ - _EmissiveBlink_Velocity1: 4
+ - _EmissiveBlink_Velocity1Animated: 0
+ - _EmissiveBlink_VelocityAnimated: 0
+ - _EmissiveScroll_Direction1Animated: 0
+ - _EmissiveScroll_DirectionAnimated: 0
+ - _EmissiveScroll_Interval: 20
+ - _EmissiveScroll_Interval1: 20
+ - _EmissiveScroll_Interval1Animated: 0
+ - _EmissiveScroll_IntervalAnimated: 0
+ - _EmissiveScroll_Velocity: 10
+ - _EmissiveScroll_Velocity1: 10
+ - _EmissiveScroll_Velocity1Animated: 0
+ - _EmissiveScroll_VelocityAnimated: 0
+ - _EmissiveScroll_Width: 10
+ - _EmissiveScroll_Width1: 10
+ - _EmissiveScroll_Width1Animated: 0
+ - _EmissiveScroll_WidthAnimated: 0
+ - _EnableAudioLink: 0
+ - _EnableAudioLinkDebug: 0
+ - _EnableBRDF: 0
+ - _EnableBlur: 0
+ - _EnableBlurAnimated: 0
+ - _EnableBulge: 0
+ - _EnableBulgeAnimated: 0
+ - _EnableClearCoat: 0
+ - _EnableClearCoatAnimated: 0
+ - _EnableDissolve: 0
+ - _EnableDissolveAnimated: 0
+ - _EnableDissolveAudioLink: 0
+ - _EnableDistortion: 0
+ - _EnableDistortionAnimated: 0
+ - _EnableDistortionAudioLink: 0
+ - _EnableEmission: 0
+ - _EnableEmission1: 0
+ - _EnableEmission1Animated: 0
+ - _EnableEmission1CenterOutAudioLink: 0
+ - _EnableEmission1StrengthAudioLink: 0
+ - _EnableEmissionAnimated: 0
+ - _EnableEmissionCenterOutAudioLink: 0
+ - _EnableEmissionStrengthAudioLink: 0
+ - _EnableEnvironmentalRim: 0
+ - _EnableEnvironmentalRimAnimated: 0
+ - _EnableFlipbook: 0
+ - _EnableFlipbookAnimated: 0
+ - _EnableGITDEmission: 0
+ - _EnableGITDEmission1: 0
+ - _EnableGITDEmission1Animated: 0
+ - _EnableGITDEmissionAnimated: 0
+ - _EnableHolo: 0
+ - _EnableHoloAnimated: 0
+ - _EnableIridescence: 0
+ - _EnableIridescenceAnimated: 0
+ - _EnableLighting: 1
+ - _EnableLightingAnimated: 0
+ - _EnableMetallic: 0
+ - _EnableMetallicAnimated: 0
+ - _EnableMirrorOptions: 0
+ - _EnableMirrorOptionsAnimated: 0
+ - _EnableMirrorTexture: 0
+ - _EnableMirrorTextureAnimated: 0
+ - _EnablePathing: 0
+ - _EnableRandom: 0
+ - _EnableRandomAnimated: 0
+ - _EnableRimLighting: 0
+ - _EnableRimLightingAnimated: 0
+ - _EnableSSS: 0
+ - _EnableSSSAnimated: 0
+ - _EnableScifiSpawnIn: 0
+ - _EnableScifiSpawnInAnimated: 0
+ - _EnableSpecular: 0
+ - _EnableSpecular1: 0
+ - _EnableSpecular1Animated: 0
+ - _EnableSpecularAnimated: 0
+ - _EnableTouchGlow: 0
+ - _EnableTouchGlowAnimated: 0
+ - _EnableVertexGlitch: 0
+ - _EnableVertexGlitchAnimated: 0
+ - _EnableVideo: 0
+ - _EnableVideoAnimated: 0
+ - _EnableVoronoi: 0
+ - _EnableVoronoiAnimated: 0
+ - _EntranceStiffness: 0.01
+ - _EntryOpenDuration: 0.1
+ - _FadeDither: 0
+ - _FadeDitherDistance: 0
+ - _FadeLength: 20
+ - _FadeLengthAnimated: 0
+ - _FlipbookAdd: 0
+ - _FlipbookAddAnimated: 0
+ - _FlipbookAlphaControlsFinalAlpha: 0
+ - _FlipbookAlphaControlsFinalAlphaAnimated: 0
+ - _FlipbookColorAnimated: 0
+ - _FlipbookColorReplaces: 0
+ - _FlipbookColorReplacesAnimated: 0
+ - _FlipbookCrossfadeEnabled: 0
+ - _FlipbookCrossfadeEnabledAnimated: 0
+ - _FlipbookCrossfadeRangeAnimated: 0
+ - _FlipbookCurrentFrame: -1
+ - _FlipbookCurrentFrameAnimated: 0
+ - _FlipbookEmissionStrength: 0
+ - _FlipbookEmissionStrengthAnimated: 0
+ - _FlipbookFPS: 30
+ - _FlipbookFPSAnimated: 0
+ - _FlipbookHueShift: 0
+ - _FlipbookHueShiftAnimated: 0
+ - _FlipbookHueShiftEnabled: 0
+ - _FlipbookHueShiftEnabledAnimated: 0
+ - _FlipbookHueShiftSpeed: 0
+ - _FlipbookHueShiftSpeedAnimated: 0
+ - _FlipbookIntensityControlsAlpha: 0
+ - _FlipbookIntensityControlsAlphaAnimated: 0
+ - _FlipbookMaskAnimated: 0
+ - _FlipbookMaskPanAnimated: 0
+ - _FlipbookMaskUV: 0
+ - _FlipbookMaskUVAnimated: 0
+ - _FlipbookMultiply: 0
+ - _FlipbookMultiplyAnimated: 0
+ - _FlipbookReplace: 1
+ - _FlipbookReplaceAnimated: 0
+ - _FlipbookRotation: 0
+ - _FlipbookRotationAnimated: 0
+ - _FlipbookRotationSpeed: 0
+ - _FlipbookRotationSpeedAnimated: 0
+ - _FlipbookScaleOffsetAnimated: 0
+ - _FlipbookTexArrayAnimated: 0
+ - _FlipbookTexArrayPanAnimated: 0
+ - _FlipbookTexArrayUV: 0
+ - _FlipbookTexArrayUVAnimated: 0
+ - _FlipbookTiled: 0
+ - _FlipbookTiledAnimated: 0
+ - _FlipbookTotalFrames: 1
+ - _FlipbookTotalFramesAnimated: 0
+ - _Float3: 52.68
+ - _ForceOpaque: 0
+ - _ForceOpaqueAnimated: 0
+ - _ForgotToLockMaterial: 1
+ - _GIEmissionMultiplier: 1
+ - _GITDEMaxEmissionMultiplier: 0
+ - _GITDEMaxEmissionMultiplier1: 0
+ - _GITDEMaxEmissionMultiplier1Animated: 0
+ - _GITDEMaxEmissionMultiplierAnimated: 0
+ - _GITDEMaxLight: 1
+ - _GITDEMaxLight1: 1
+ - _GITDEMaxLight1Animated: 0
+ - _GITDEMaxLightAnimated: 0
+ - _GITDEMinEmissionMultiplier: 1
+ - _GITDEMinEmissionMultiplier1: 1
+ - _GITDEMinEmissionMultiplier1Animated: 0
+ - _GITDEMinEmissionMultiplierAnimated: 0
+ - _GITDEMinLight: 0
+ - _GITDEMinLight1: 0
+ - _GITDEMinLight1Animated: 0
+ - _GITDEMinLightAnimated: 0
+ - _GITDEWorldOrMesh: 0
+ - _GITDEWorldOrMesh1: 0
+ - _GITDEWorldOrMesh1Animated: 0
+ - _GITDEWorldOrMeshAnimated: 0
+ - _GlitterAngleRange: 90
+ - _GlitterAngleRangeAnimated: 0
+ - _GlitterBias: 0.8
+ - _GlitterBiasAnimated: 0
+ - _GlitterBlendType: 0
+ - _GlitterBlendTypeAnimated: 0
+ - _GlitterBrightness: 3
+ - _GlitterBrightnessAnimated: 0
+ - _GlitterCenterSize: 0.08
+ - _GlitterCenterSizeAnimated: 0
+ - _GlitterColorAnimated: 0
+ - _GlitterColorMapAnimated: 0
+ - _GlitterColorMapPanAnimated: 0
+ - _GlitterColorMapUV: 0
+ - _GlitterColorMapUVAnimated: 0
+ - _GlitterContrast: 300
+ - _GlitterContrastAnimated: 0
+ - _GlitterEnable: 0
+ - _GlitterEnableAnimated: 0
+ - _GlitterFrequency: 300
+ - _GlitterFrequencyAnimated: 0
+ - _GlitterHideInShadow: 0
+ - _GlitterHideInShadowAnimated: 0
+ - _GlitterHueShift: 0
+ - _GlitterHueShiftAnimated: 0
+ - _GlitterHueShiftEnabled: 0
+ - _GlitterHueShiftEnabledAnimated: 0
+ - _GlitterHueShiftSpeed: 0
+ - _GlitterHueShiftSpeedAnimated: 0
+ - _GlitterJaggyFix: 0
+ - _GlitterJaggyFixAnimated: 0
+ - _GlitterJitter: 1
+ - _GlitterJitterAnimated: 0
+ - _GlitterMaskAnimated: 0
+ - _GlitterMaskPanAnimated: 0
+ - _GlitterMaskUV: 0
+ - _GlitterMaskUVAnimated: 0
+ - _GlitterMinBrightness: 0
+ - _GlitterMinBrightnessAnimated: 0
+ - _GlitterMinMaxBrightnessAnimated: 0
+ - _GlitterMinMaxSaturationAnimated: 0
+ - _GlitterMinMaxSizeAnimated: 0
+ - _GlitterMode: 0
+ - _GlitterModeAnimated: 0
+ - _GlitterPanAnimated: 0
+ - _GlitterRandomColors: 0
+ - _GlitterRandomColorsAnimated: 0
+ - _GlitterRandomRotation: 0
+ - _GlitterRandomRotationAnimated: 0
+ - _GlitterRandomSize: 0
+ - _GlitterRandomSizeAnimated: 0
+ - _GlitterShape: 0
+ - _GlitterShapeAnimated: 0
+ - _GlitterSize: 0.3
+ - _GlitterSizeAnimated: 0
+ - _GlitterSpeed: 10
+ - _GlitterSpeedAnimated: 0
+ - _GlitterTextureAnimated: 0
+ - _GlitterTexturePanAnimated: 0
+ - _GlitterTextureRotation: 0
+ - _GlitterTextureRotationAnimated: 0
+ - _GlitterUseSurfaceColor: 0
+ - _GlitterUseSurfaceColorAnimated: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _GrabBlurDirections: 4
+ - _GrabBlurDirectionsAnimated: 0
+ - _GrabBlurDistance: 0
+ - _GrabBlurDistanceAnimated: 0
+ - _GrabBlurQuality: 2
+ - _GrabBlurQualityAnimated: 0
+ - _GrabDstBlend: 0
+ - _GrabDstBlendAnimated: 0
+ - _GrabPassBlendFactor: 1
+ - _GrabPassBlendFactorAnimated: 0
+ - _GrabPassBlendMapUV: 0
+ - _GrabPassUseAlpha: 1
+ - _GrabPassUseAlphaAnimated: 0
+ - _GrabSrcBlend: 2
+ - _GrabSrcBlendAnimated: 0
+ - _GreenColorAnimated: 0
+ - _GreenTextureAnimated: 0
+ - _HalftoneDotAmount: 5
+ - _HalftoneDotSize: 0.5
+ - _HalftoneLineAmount: 2000
+ - _HalftoneLineIntensity: 1
+ - _HalftoneType: 3
+ - _HoloAlphaMapAnimated: 0
+ - _HoloCoordinateSpace: 0
+ - _HoloCoordinateSpaceAnimated: 0
+ - _HoloDirectionAnimated: 0
+ - _HoloFresnelAlpha: 0
+ - _HoloFresnelAlphaAnimated: 0
+ - _HoloLineDensity: 10
+ - _HoloLineDensityAnimated: 0
+ - _HoloRimSharpness: 0.5
+ - _HoloRimSharpnessAnimated: 0
+ - _HoloRimWidth: 0.5
+ - _HoloRimWidthAnimated: 0
+ - _HoloScrollSpeed: 1
+ - _HoloScrollSpeedAnimated: 0
+ - _Hue: 0
+ - _ID: 1
+ - _IDNormal: 2
+ - _ID_Normal: 1.7
+ - _ID_Oriface: 1.9
+ - _ID_Physics: 1.5
+ - _IOR: 0
+ - _IgnoreFog: 0
+ - _IgnoreFogAnimated: 0
+ - _Inverse_Clipping: 0
+ - _InvertSmoothness: 0
+ - _InvertSmoothnessAnimated: 0
+ - _IridescenceAddBlend: 0
+ - _IridescenceAddBlendAnimated: 0
+ - _IridescenceAudioLinkEmissionBand: 0
+ - _IridescenceEmissionStrength: 0
+ - _IridescenceEmissionStrengthAnimated: 0
+ - _IridescenceHueShift: 0
+ - _IridescenceHueShiftEnabled: 0
+ - _IridescenceHueShiftSpeed: 0
+ - _IridescenceIntensity: 1
+ - _IridescenceIntensityAnimated: 0
+ - _IridescenceMaskAnimated: 0
+ - _IridescenceMaskUV: 0
+ - _IridescenceMaskUVAnimated: 0
+ - _IridescenceMultiplyBlend: 0
+ - _IridescenceMultiplyBlendAnimated: 0
+ - _IridescenceNormalIntensity: 1
+ - _IridescenceNormalIntensityAnimated: 0
+ - _IridescenceNormalMapAnimated: 0
+ - _IridescenceNormalSelection: 1
+ - _IridescenceNormalSelectionAnimated: 0
+ - _IridescenceNormalToggle: 0
+ - _IridescenceNormalToggleAnimated: 0
+ - _IridescenceNormalUV: 0
+ - _IridescenceNormalUVAnimated: 0
+ - _IridescenceOffset: 0
+ - _IridescencePanSpeed: 0
+ - _IridescenceRampAnimated: 0
+ - _IridescenceReplaceBlend: 0
+ - _IridescenceReplaceBlendAnimated: 0
+ - _IridescenceTime: 0
+ - _IridescenceTimeAnimated: 0
+ - _Length: 0.35803357
+ - _LightingAOTexAnimated: 0
+ - _LightingAOTexPanAnimated: 0
+ - _LightingAOTexUV: 0
+ - _LightingAOTexUVAnimated: 0
+ - _LightingAdditiveDetailStrength: 1
+ - _LightingAdditiveDetailStrengthAnimated: 0
+ - _LightingAdditiveEnable: 1
+ - _LightingAdditiveGradientEnd: 0.5
+ - _LightingAdditiveGradientEndAnimated: 0
+ - _LightingAdditiveGradientStart: 0
+ - _LightingAdditiveGradientStartAnimated: 0
+ - _LightingAdditiveLimitIntensity: 0
+ - _LightingAdditiveLimitIntensityAnimated: 0
+ - _LightingAdditiveMaxIntensity: 1
+ - _LightingAdditiveMaxIntensityAnimated: 0
+ - _LightingAdditivePassthrough: 0.5
+ - _LightingAdditivePassthroughAnimated: 0
+ - _LightingAdditiveType: 1
+ - _LightingAdditiveTypeAnimated: 0
+ - _LightingDetailShadowsAnimated: 0
+ - _LightingDetailShadowsEnabled: 0
+ - _LightingDetailShadowsEnabledAnimated: 0
+ - _LightingDetailShadowsPanAnimated: 0
+ - _LightingDetailShadowsUV: 0
+ - _LightingDetailShadowsUVAnimated: 0
+ - _LightingDetailStrength: 1
+ - _LightingDetailStrengthAnimated: 0
+ - _LightingDirectColorMode: 0
+ - _LightingDirectColorModeAnimated: 0
+ - _LightingEnableAO: 0
+ - _LightingEnableAOAnimated: 0
+ - _LightingEnableHSL: 0
+ - _LightingEnableHSLAnimated: 0
+ - _LightingGradientEnd: 0.5
+ - _LightingGradientEndAnimated: 0
+ - _LightingGradientStart: 0
+ - _LightingGradientStartAnimated: 0
+ - _LightingHSLIntensity: 1
+ - _LightingHSLIntensityAnimated: 0
+ - _LightingIgnoreAmbientColor: 0
+ - _LightingIgnoreAmbientColorAnimated: 0
+ - _LightingIndirectColorMode: 0
+ - _LightingIndirectColorModeAnimated: 0
+ - _LightingMinLightBrightness: 0
+ - _LightingMinLightBrightnessAnimated: 0
+ - _LightingMinShadowBrightnessRatio: 0
+ - _LightingMinShadowBrightnessRatioAnimated: 0
+ - _LightingMode: 0
+ - _LightingModeAnimated: 0
+ - _LightingMonochromatic: 0
+ - _LightingMonochromaticAnimated: 0
+ - _LightingOnlyUnityShadows: 0
+ - _LightingOnlyUnityShadowsAnimated: 0
+ - _LightingRampType: 0
+ - _LightingRampTypeAnimated: 0
+ - _LightingShadingEnabled: 1
+ - _LightingShadingEnabledAnimated: 0
+ - _LightingShadowColorAnimated: 0
+ - _LightingShadowHue: 0.5
+ - _LightingShadowHueAnimated: 0
+ - _LightingShadowLightness: 0.5
+ - _LightingShadowLightnessAnimated: 0
+ - _LightingShadowMaskAnimated: 0
+ - _LightingShadowMaskPanAnimated: 0
+ - _LightingShadowMaskUV: 0
+ - _LightingShadowMaskUVAnimated: 0
+ - _LightingShadowSaturation: 0.5
+ - _LightingShadowSaturationAnimated: 0
+ - _LightingShadowTextureAnimated: 0
+ - _LightingShadowTexturePanAnimated: 0
+ - _LightingShadowTextureUVAnimated: 0
+ - _LightingStandardSmoothness: 0
+ - _LightingStandardSmoothnessAnimated: 0
+ - _LightingUncapped: 0
+ - _LightingUncappedAnimated: 0
+ - _LightingWrappedNormalization: 0
+ - _LightingWrappedWrap: 0
+ - _LineColorAnimated: 0
+ - _LineWidth: 0
+ - _LineWidthAnimated: 0
+ - _LockTooltip: 0
+ - _MainAlphaToCoverage: 0
+ - _MainAlphaToCoverageAnimated: 0
+ - _MainBrightness: 0
+ - _MainBrightnessAnimated: 0
+ - _MainColorAdjustTextureAnimated: 0
+ - _MainColorAdjustTexturePanAnimated: 0
+ - _MainColorAdjustTextureUV: 0
+ - _MainColorAdjustTextureUVAnimated: 0
+ - _MainDistanceFadeAnimated: 0
+ - _MainDistanceFadeMax: 0
+ - _MainDistanceFadeMin: 0
+ - _MainEmissionStrength: 0
+ - _MainEmissionStrengthAnimated: 0
+ - _MainFadeTextureAnimated: 0
+ - _MainFadeTexturePanAnimated: 0
+ - _MainFadeTextureUV: 0
+ - _MainFadeTextureUVAnimated: 0
+ - _MainFadeType: 1
+ - _MainHueShift: 0
+ - _MainHueShiftAnimated: 0
+ - _MainHueShiftReplace: 1
+ - _MainHueShiftReplaceAnimated: 0
+ - _MainHueShiftSpeed: 0
+ - _MainHueShiftSpeedAnimated: 0
+ - _MainHueShiftToggle: 0
+ - _MainHueShiftToggleAnimated: 0
+ - _MainMaxAlpha: 1
+ - _MainMinAlpha: 0
+ - _MainMinAlphaAnimated: 0
+ - _MainMipScale: 0.25
+ - _MainMipScaleAnimated: 0
+ - _MainShadowClipMod: 0
+ - _MainShadowClipModAnimated: 0
+ - _MainTexAnimated: 0
+ - _MainTexPanAnimated: 0
+ - _MainTex_STAnimated: 0
+ - _MainTextureUV: 0
+ - _MainTextureUVAnimated: 0
+ - _MainUseVertexColorAlpha: 0
+ - _MainUseVertexColorAlphaAnimated: 0
+ - _MainVertexColoring: 0
+ - _MainVertexColoringAnimated: 0
+ - _MainVertexColoringLinearSpace: 1
+ - _Matcap2Add: 0
+ - _Matcap2AddAnimated: 0
+ - _Matcap2Animated: 0
+ - _Matcap2Border: 0.43
+ - _Matcap2BorderAnimated: 0
+ - _Matcap2ColorAnimated: 0
+ - _Matcap2EmissionStrength: 0
+ - _Matcap2EmissionStrengthAnimated: 0
+ - _Matcap2Enable: 0
+ - _Matcap2EnableAnimated: 0
+ - _Matcap2HueShift: 0
+ - _Matcap2HueShiftAnimated: 0
+ - _Matcap2HueShiftEnabled: 0
+ - _Matcap2HueShiftEnabledAnimated: 0
+ - _Matcap2HueShiftSpeed: 0
+ - _Matcap2HueShiftSpeedAnimated: 0
+ - _Matcap2Intensity: 1
+ - _Matcap2IntensityAnimated: 0
+ - _Matcap2LightMask: 0
+ - _Matcap2LightMaskAnimated: 0
+ - _Matcap2MaskAnimated: 0
+ - _Matcap2MaskInvert: 0
+ - _Matcap2MaskInvertAnimated: 0
+ - _Matcap2MaskPanAnimated: 0
+ - _Matcap2MaskUV: 0
+ - _Matcap2MaskUVAnimated: 0
+ - _Matcap2Multiply: 0
+ - _Matcap2MultiplyAnimated: 0
+ - _Matcap2Normal: 1
+ - _Matcap2NormalAnimated: 0
+ - _Matcap2Replace: 0
+ - _Matcap2ReplaceAnimated: 0
+ - _MatcapAdd: 0
+ - _MatcapAddAnimated: 0
+ - _MatcapAnimated: 0
+ - _MatcapBorder: 0.43
+ - _MatcapBorderAnimated: 0
+ - _MatcapColorAnimated: 0
+ - _MatcapEmissionStrength: 0
+ - _MatcapEmissionStrengthAnimated: 0
+ - _MatcapEnable: 0
+ - _MatcapEnableAnimated: 0
+ - _MatcapHueShift: 0
+ - _MatcapHueShiftAnimated: 0
+ - _MatcapHueShiftEnabled: 0
+ - _MatcapHueShiftEnabledAnimated: 0
+ - _MatcapHueShiftSpeed: 0
+ - _MatcapHueShiftSpeedAnimated: 0
+ - _MatcapIntensity: 1
+ - _MatcapIntensityAnimated: 0
+ - _MatcapLightMask: 0
+ - _MatcapLightMaskAnimated: 0
+ - _MatcapMaskAnimated: 0
+ - _MatcapMaskInvert: 0
+ - _MatcapMaskInvertAnimated: 0
+ - _MatcapMaskPanAnimated: 0
+ - _MatcapMaskUV: 0
+ - _MatcapMaskUVAnimated: 0
+ - _MatcapMultiply: 0
+ - _MatcapMultiplyAnimated: 0
+ - _MatcapNormal: 1
+ - _MatcapNormalAnimated: 0
+ - _MatcapReplace: 1
+ - _MatcapReplaceAnimated: 0
+ - _MatcapTintToDiffuse: 1
+ - _MetalReflectionTintAnimated: 0
+ - _Metallic: 0
+ - _MetallicAnimated: 0
+ - _MetallicMaskAnimated: 0
+ - _MetallicMaskPanAnimated: 0
+ - _MetallicMaskUV: 0
+ - _MetallicMaskUVAnimated: 0
+ - _MetallicTintMapAnimated: 0
+ - _MetallicTintMapPanAnimated: 0
+ - _MetallicTintMapUV: 0
+ - _MetallicTintMapUVAnimated: 0
+ - _Mirror: 0
+ - _MirrorAnimated: 0
+ - _MirrorTextureAnimated: 0
+ - _MirrorTexturePanAnimated: 0
+ - _MirrorTextureUV: 0
+ - _MirrorTextureUVAnimated: 0
+ - _Mode: 0
+ - _ModelAngleMax: 90
+ - _ModelAngleMaxAnimated: 0
+ - _ModelAngleMin: 45
+ - _ModelAngleMinAnimated: 0
+ - _NormalMapMode: 0
+ - _OcclusionIntensity: 1
+ - _OcclusionMode: 0
+ - _OcclusionStrength: 1
+ - _OffsetFactor: 0
+ - _OffsetFactorAnimated: 0
+ - _OffsetUnits: 0
+ - _OffsetUnitsAnimated: 0
+ - _OrifaceEnabled: 0
+ - _OrificeChannel: 0
+ - _OutlineAlbedoTint: 0
+ - _OutlineCull: 1
+ - _OutlineCullAnimated: 0
+ - _OutlineDropShadowOffsetAnimated: 0
+ - _OutlineEmission: 0
+ - _OutlineEmissionAnimated: 0
+ - _OutlineFadeDistanceAnimated: 0
+ - _OutlineFixedSize: 0
+ - _OutlineFixedSizeAnimated: 0
+ - _OutlineHueOffset: 0
+ - _OutlineHueOffsetSpeed: 0
+ - _OutlineHueShift: 0
+ - _OutlineLighting: 0
+ - _OutlineLit: 1
+ - _OutlineLitAnimated: 0
+ - _OutlineMaskAnimated: 0
+ - _OutlineMaskUV: 0
+ - _OutlineMode: 0
+ - _OutlineModeAnimated: 0
+ - _OutlineNormalMode: 0
+ - _OutlineOffsetFactor: 0
+ - _OutlineOffsetUnits: 0
+ - _OutlinePersonaDirectionAnimated: 0
+ - _OutlineRimLightBlend: 0
+ - _OutlineRimLightBlendAnimated: 0
+ - _OutlineShadowStrength: 1
+ - _OutlineShadowStrengthAnimated: 0
+ - _OutlineStencilCompareFunction: 8
+ - _OutlineStencilCompareFunctionAnimated: 0
+ - _OutlineStencilFailOp: 0
+ - _OutlineStencilFailOpAnimated: 0
+ - _OutlineStencilPassOp: 0
+ - _OutlineStencilPassOpAnimated: 0
+ - _OutlineStencilReadMask: 255
+ - _OutlineStencilReadMaskAnimated: 0
+ - _OutlineStencilRef: 0
+ - _OutlineStencilRefAnimated: 0
+ - _OutlineStencilWriteMask: 255
+ - _OutlineStencilWriteMaskAnimated: 0
+ - _OutlineStencilZFailOp: 0
+ - _OutlineStencilZFailOpAnimated: 0
+ - _OutlineTextureAnimated: 0
+ - _OutlineTexturePanAnimated: 0
+ - _OutlineTextureUV: 0
+ - _OutlineTintMix: 0
+ - _OutlineTintMixAnimated: 0
+ - _OutlineUVSelect: 2
+ - _OutlineUseVertexColors: 0
+ - _OutlineUseVertexColorsAnimated: 0
+ - _OutlineWidth: 1
+ - _OutlinesMaxDistance: 9999
+ - _PPEmissionMultiplier: 1
+ - _PPHelp: 0
+ - _PPLightingMultiplier: 1
+ - _PanoBlend: 0
+ - _PanoBlendAnimated: 0
+ - _PanoCubeMapAnimated: 0
+ - _PanoCubeMapToggle: 0
+ - _PanoCubeMapToggleAnimated: 0
+ - _PanoEmission: 0
+ - _PanoEmissionAnimated: 0
+ - _PanoInfiniteStereoToggle: 0
+ - _PanoInfiniteStereoToggleAnimated: 0
+ - _PanoMaskAnimated: 0
+ - _PanoMaskPanAnimated: 0
+ - _PanoMaskUV: 0
+ - _PanoMaskUVAnimated: 0
+ - _PanoToggle: 0
+ - _PanoToggleAnimated: 0
+ - _PanosphereColorAnimated: 0
+ - _PanospherePanAnimated: 0
+ - _PanosphereTextureAnimated: 0
+ - _Parallax: 0.02
+ - _ParallaxBias: 0.42
+ - _ParallaxBiasAnimated: 0
+ - _ParallaxHeightMapAnimated: 0
+ - _ParallaxHeightMapEnabled: 0
+ - _ParallaxHeightMapEnabledAnimated: 0
+ - _ParallaxHeightMapMaskAnimated: 0
+ - _ParallaxHeightMapMaskPanAnimated: 0
+ - _ParallaxHeightMapMaskUV: 0
+ - _ParallaxHeightMapMaskUVAnimated: 0
+ - _ParallaxHeightMapPanAnimated: 0
+ - _ParallaxInternalHeightFromAlpha: 0
+ - _ParallaxInternalHeightFromAlphaAnimated: 0
+ - _ParallaxInternalHeightmapMode: 0
+ - _ParallaxInternalHeightmapModeAnimated: 0
+ - _ParallaxInternalIterations: 1
+ - _ParallaxInternalIterationsAnimated: 0
+ - _ParallaxInternalMapAnimated: 0
+ - _ParallaxInternalMapEnabled: 0
+ - _ParallaxInternalMapEnabledAnimated: 0
+ - _ParallaxInternalMapMaskAnimated: 0
+ - _ParallaxInternalMapMaskPanAnimated: 0
+ - _ParallaxInternalMapMaskUV: 0
+ - _ParallaxInternalMapMaskUVAnimated: 0
+ - _ParallaxInternalMaxColorAnimated: 0
+ - _ParallaxInternalMaxDepth: 1
+ - _ParallaxInternalMaxDepthAnimated: 0
+ - _ParallaxInternalMaxFade: 1
+ - _ParallaxInternalMaxFadeAnimated: 0
+ - _ParallaxInternalMinColorAnimated: 0
+ - _ParallaxInternalMinDepth: 0
+ - _ParallaxInternalMinDepthAnimated: 0
+ - _ParallaxInternalMinFade: 0
+ - _ParallaxInternalMinFadeAnimated: 0
+ - _ParallaxInternalPanDepthSpeedAnimated: 0
+ - _ParallaxInternalPanSpeedAnimated: 0
+ - _ParallaxMap: 0
+ - _ParallaxMapAnimated: 0
+ - _ParallaxStrength: 0
+ - _ParallaxStrengthAnimated: 0
+ - _ParallaxUV: 0
+ - _ParallaxUVAnimated: 0
+ - _PathTypeB: 0
+ - _PathTypeG: 0
+ - _PathTypeR: 0
+ - _PathingColorMapUV: 0
+ - _PathingMapUV: 0
+ - _PenetratorEnabled: 1
+ - _RGBAlpha_UV: 0
+ - _RGBBlendMultiplicative: 0
+ - _RGBBlendMultiplicativeAnimated: 0
+ - _RGBBluePanningAnimated: 0
+ - _RGBBlue_UV: 0
+ - _RGBBlue_UVAnimated: 0
+ - _RGBGreenPanningAnimated: 0
+ - _RGBGreen_UV: 0
+ - _RGBGreen_UVAnimated: 0
+ - _RGBMaskAnimated: 0
+ - _RGBMaskEnabled: 0
+ - _RGBMaskEnabledAnimated: 0
+ - _RGBMaskPanningAnimated: 0
+ - _RGBMaskUV: 0
+ - _RGBMaskUVAnimated: 0
+ - _RGBNormalBlend: 0
+ - _RGBNormalBlendAnimated: 0
+ - _RGBRedPanningAnimated: 0
+ - _RGBRed_UV: 0
+ - _RGBRed_UVAnimated: 0
+ - _RGBUseVertexColors: 0
+ - _RGBUseVertexColorsAnimated: 0
+ - _RalivAdvancedHelp: 0
+ - _RalivHelp: 0
+ - _ReCurvature: 0
+ - _RedColorAnimated: 0
+ - _RedTexureAnimated: 0
+ - _ReflectionBlendMode: 0
+ - _ReflectionMode: 0
+ - _Reflectivity: 1
+ - _RefractionChromaticAberattion: 0
+ - _RefractionChromaticAberattionAnimated: 0
+ - _RefractionEnabled: 0
+ - _RefractionEnabledAnimated: 0
+ - _RefractionIndex: 1.333333
+ - _RefractionIndexAnimated: 0
+ - _RefractionModel: 0
+ - _RgbNormalAScale: 0
+ - _RgbNormalAUV: 0
+ - _RgbNormalBScale: 0
+ - _RgbNormalBUV: 0
+ - _RgbNormalGScale: 0
+ - _RgbNormalGUV: 0
+ - _RgbNormalRScale: 0
+ - _RgbNormalRUV: 0
+ - _RgbNormalsEnabled: 0
+ - _RimAlbedoTint: 0.501
+ - _RimAttenEffect: 1
+ - _RimBrighten: 0
+ - _RimBrightenAnimated: 0
+ - _RimCubemapTint: 0.502
+ - _RimEnviroBlur: 0.7
+ - _RimEnviroBlurAnimated: 0
+ - _RimEnviroIntensity: 1
+ - _RimEnviroIntensityAnimated: 0
+ - _RimEnviroMaskAnimated: 0
+ - _RimEnviroMaskPanAnimated: 0
+ - _RimEnviroMaskUV: 0
+ - _RimEnviroMaskUVAnimated: 0
+ - _RimEnviroMinBrightness: 0
+ - _RimEnviroMinBrightnessAnimated: 0
+ - _RimEnviroSharpness: 0
+ - _RimEnviroSharpnessAnimated: 0
+ - _RimEnviroWidth: 0.45
+ - _RimEnviroWidthAnimated: 0
+ - _RimHueShift: 0
+ - _RimHueShiftAnimated: 0
+ - _RimHueShiftEnabled: 0
+ - _RimHueShiftEnabledAnimated: 0
+ - _RimHueShiftSpeed: 0
+ - _RimHueShiftSpeedAnimated: 0
+ - _RimIntensity: 0
+ - _RimLightColorAnimated: 0
+ - _RimLightColorBias: 1
+ - _RimLightColorBiasAnimated: 0
+ - _RimLightNormal: 1
+ - _RimLightNormalAnimated: 0
+ - _RimLightingInvert: 0
+ - _RimLightingInvertAnimated: 0
+ - _RimMaskAnimated: 0
+ - _RimMaskPanAnimated: 0
+ - _RimMaskUV: 0
+ - _RimMaskUVAnimated: 0
+ - _RimRange: 0.7
+ - _RimSharpness: 0.1
+ - _RimSharpnessAnimated: 0
+ - _RimStrength: 0
+ - _RimStrengthAnimated: 0
+ - _RimTexAnimated: 0
+ - _RimTexPanAnimated: 0
+ - _RimTexUV: 0
+ - _RimTexUVAnimated: 0
+ - _RimThreshold: 0.1
+ - _RimWidth: 0.8
+ - _RimWidthAnimated: 0
+ - _RimWidthNoiseStrength: 0.1
+ - _RimWidthNoiseStrengthAnimated: 0
+ - _RimWidthNoiseTextureAnimated: 0
+ - _RimWidthNoiseTexturePanAnimated: 0
+ - _RimWidthNoiseTextureUV: 0
+ - _RimWidthNoiseTextureUVAnimated: 0
+ - _SSDistortion: 1
+ - _SSPower: 1
+ - _SSSColorAnimated: 0
+ - _SSSDistortion: 1
+ - _SSSDistortionAnimated: 0
+ - _SSSPower: 5
+ - _SSSPowerAnimated: 0
+ - _SSSSCale: 0.25
+ - _SSSSCaleAnimated: 0
+ - _SSSThicknessMapAnimated: 0
+ - _SSSThicknessMapPanAnimated: 0
+ - _SSSThicknessMapUV: 0
+ - _SSSThicknessMapUVAnimated: 0
+ - _SSSThicknessMod: 0
+ - _SSSThicknessModAnimated: 0
+ - _SSScale: 1
+ - _SampleWorld: 0
+ - _SampleWorldAnimated: 0
+ - _Saturation: 1
+ - _SaturationAnimated: 0
+ - _ScaleWithLight: 1
+ - _ScaleWithLightSensitivity: 1
+ - _ScrollingEmission: 0
+ - _ScrollingEmission1: 0
+ - _ScrollingEmission1Animated: 0
+ - _ScrollingEmissionAnimated: 0
+ - _ShadeColor_Step: 0
+ - _ShadeColor_StepAnimated: 0
+ - _ShaderOptimizerEnabled: 1
+ - _ShadowMix: 0
+ - _ShadowMixAnimated: 0
+ - _ShadowMixThreshold: 0.5
+ - _ShadowMixThresholdAnimated: 0
+ - _ShadowMixWidthMod: 0.5
+ - _ShadowMixWidthModAnimated: 0
+ - _ShadowOffset: 0
+ - _ShadowOffsetAnimated: 0
+ - _ShadowRimAlbedoTint: 1
+ - _ShadowRimRange: 0.865
+ - _ShadowRimSharpness: 0.658
+ - _ShadowRimThreshold: 0.535
+ - _ShadowSharpness: 0.5
+ - _ShadowStrength: 0.156
+ - _ShadowStrengthAnimated: 0
+ - _Shape1Depth: 0.1
+ - _Shape1Duration: 0.1
+ - _Shape2Depth: 0.2
+ - _Shape2Duration: 0.1
+ - _Shape3Depth: 0.3
+ - _Shape3Duration: 0.1
+ - _Shininess: 0.01
+ - _Smoothness: 0.106
+ - _SmoothnessAnimated: 0
+ - _SmoothnessFrom: 1
+ - _SmoothnessFrom1: 1
+ - _SmoothnessFrom1Animated: 0
+ - _SmoothnessFromAnimated: 0
+ - _SmoothnessMaskAnimated: 0
+ - _SmoothnessMaskPanAnimated: 0
+ - _SmoothnessMaskUV: 0
+ - _SmoothnessMaskUVAnimated: 0
+ - _SmoothnessTextureChannel: 0
+ - _SpawnInAlpha: 0
+ - _SpawnInAlphaAnimated: 0
+ - _SpawnInEmissionColorAnimated: 0
+ - _SpawnInEmissionOffset: 0.1
+ - _SpawnInEmissionOffsetAnimated: 0
+ - _SpawnInGradientFinishAnimated: 0
+ - _SpawnInGradientStartAnimated: 0
+ - _SpawnInNoiseAnimated: 0
+ - _SpawnInNoiseIntensity: 0.35
+ - _SpawnInNoiseIntensityAnimated: 0
+ - _SpawnInVertOffset: 10
+ - _SpawnInVertOffsetAnimated: 0
+ - _SpawnInVertOffsetOffset: 0.1
+ - _SpawnInVertOffsetOffsetAnimated: 0
+ - _Spec1Offset: 0
+ - _Spec1Offset1: 0
+ - _Spec1Offset1Animated: 0
+ - _Spec1OffsetAnimated: 0
+ - _Spec2Smoothness: 0
+ - _Spec2Smoothness1: 0
+ - _Spec2Smoothness1Animated: 0
+ - _Spec2SmoothnessAnimated: 0
+ - _SpecLMOcclusionAdjust: 0.2
+ - _SpecMode: 0
+ - _SpecWhatTangent: 0
+ - _SpecWhatTangent1: 0
+ - _SpecWhatTangent1Animated: 0
+ - _SpecWhatTangentAnimated: 0
+ - _SpecularAlbedoTint: 1
+ - _SpecularAnisoJitterMacro1Animated: 0
+ - _SpecularAnisoJitterMacro1PanAnimated: 0
+ - _SpecularAnisoJitterMacro1UV: 0
+ - _SpecularAnisoJitterMacro1UVAnimated: 0
+ - _SpecularAnisoJitterMacroAnimated: 0
+ - _SpecularAnisoJitterMacroMultiplier: 0
+ - _SpecularAnisoJitterMacroMultiplier1: 0
+ - _SpecularAnisoJitterMacroMultiplier1Animated: 0
+ - _SpecularAnisoJitterMacroMultiplierAnimated: 0
+ - _SpecularAnisoJitterMacroPanAnimated: 0
+ - _SpecularAnisoJitterMacroUV: 0
+ - _SpecularAnisoJitterMacroUVAnimated: 0
+ - _SpecularAnisoJitterMicro1Animated: 0
+ - _SpecularAnisoJitterMicro1PanAnimated: 0
+ - _SpecularAnisoJitterMicro1UV: 0
+ - _SpecularAnisoJitterMicro1UVAnimated: 0
+ - _SpecularAnisoJitterMicroAnimated: 0
+ - _SpecularAnisoJitterMicroMultiplier: 0
+ - _SpecularAnisoJitterMicroMultiplier1: 0
+ - _SpecularAnisoJitterMicroMultiplier1Animated: 0
+ - _SpecularAnisoJitterMicroMultiplierAnimated: 0
+ - _SpecularAnisoJitterMicroPanAnimated: 0
+ - _SpecularAnisoJitterMicroUV: 0
+ - _SpecularAnisoJitterMicroUVAnimated: 0
+ - _SpecularAnisoJitterMirrored: 0
+ - _SpecularAnisoJitterMirrored1: 0
+ - _SpecularAnisoJitterMirrored1Animated: 0
+ - _SpecularAnisoJitterMirroredAnimated: 0
+ - _SpecularArea: 0.5
+ - _SpecularHighlights: 1
+ - _SpecularIntensity: 0
+ - _SpecularInvertSmoothness: 0
+ - _SpecularInvertSmoothness1: 0
+ - _SpecularInvertSmoothness1Animated: 0
+ - _SpecularInvertSmoothnessAnimated: 0
+ - _SpecularLMOcclusion: 0
+ - _SpecularMap1Animated: 0
+ - _SpecularMap1PanAnimated: 0
+ - _SpecularMap1UV: 0
+ - _SpecularMap1UVAnimated: 0
+ - _SpecularMapAnimated: 0
+ - _SpecularMapPanAnimated: 0
+ - _SpecularMapUV: 0
+ - _SpecularMapUVAnimated: 0
+ - _SpecularMask1Animated: 0
+ - _SpecularMask1PanAnimated: 0
+ - _SpecularMask1UV: 0
+ - _SpecularMask1UVAnimated: 0
+ - _SpecularMaskAnimated: 0
+ - _SpecularMaskPanAnimated: 0
+ - _SpecularMaskUV: 0
+ - _SpecularMaskUVAnimated: 0
+ - _SpecularMaxBrightness: 0
+ - _SpecularMaxBrightness1: 0
+ - _SpecularMetallic: 0
+ - _SpecularMetallic1: 0
+ - _SpecularMetallic1Animated: 0
+ - _SpecularMetallicAnimated: 0
+ - _SpecularMetallicMap1UV: 0
+ - _SpecularMetallicMapUV: 0
+ - _SpecularNormal: 1
+ - _SpecularNormal1: 1
+ - _SpecularNormal1Animated: 0
+ - _SpecularNormalAnimated: 0
+ - _SpecularSharpness: 0
+ - _SpecularSmoothness: 1
+ - _SpecularSmoothness1: 0.75
+ - _SpecularSmoothness1Animated: 0
+ - _SpecularSmoothnessAnimated: 0
+ - _SpecularStyle: 0
+ - _SpecularTint1Animated: 0
+ - _SpecularTintAnimated: 0
+ - _SpecularToonEnd: 1
+ - _SpecularToonEnd1: 1
+ - _SpecularToonEnd1Animated: 0
+ - _SpecularToonEndAnimated: 0
+ - _SpecularToonInnerOuter1Animated: 0
+ - _SpecularToonInnerOuterAnimated: 0
+ - _SpecularToonStart: 0.95
+ - _SpecularToonStart1: 0.95
+ - _SpecularToonStart1Animated: 0
+ - _SpecularToonStartAnimated: 0
+ - _SpecularType: 1
+ - _SpecularType1: 1
+ - _SpecularType1Animated: 0
+ - _SpecularTypeAnimated: 0
+ - _SqueezeDist: 0.0259
+ - _SrcBlend: 1
+ - _SrcBlendAnimated: 0
+ - _SssBias: 0
+ - _SssBumpBlur: 0.7
+ - _SssMaskCutoff: 0.1
+ - _SssScale: 1
+ - _SssWeight: 1
+ - _Stencil: 0
+ - _StencilComp: 0
+ - _StencilCompareFunction: 8
+ - _StencilCompareFunctionAnimated: 0
+ - _StencilFailOp: 0
+ - _StencilFailOpAnimated: 0
+ - _StencilOp: 0
+ - _StencilPassOp: 0
+ - _StencilPassOpAnimated: 0
+ - _StencilReadMask: 255
+ - _StencilReadMaskAnimated: 0
+ - _StencilRef: 0
+ - _StencilRefAnimated: 0
+ - _StencilWriteMask: 255
+ - _StencilWriteMaskAnimated: 0
+ - _StencilZFailOp: 0
+ - _StencilZFailOpAnimated: 0
+ - _TextEnabled: 0
+ - _TextEnabledAnimated: 0
+ - _TextFPSColorAnimated: 0
+ - _TextFPSEmissionStrength: 0
+ - _TextFPSEmissionStrengthAnimated: 0
+ - _TextFPSEnabled: 0
+ - _TextFPSEnabledAnimated: 0
+ - _TextFPSOffsetAnimated: 0
+ - _TextFPSPaddingAnimated: 0
+ - _TextFPSRotation: 0
+ - _TextFPSRotationAnimated: 0
+ - _TextFPSScaleAnimated: 0
+ - _TextFPSUV: 0
+ - _TextFPSUVAnimated: 0
+ - _TextGlyphsAnimated: 0
+ - _TextPixelRange: 4
+ - _TextPixelRangeAnimated: 0
+ - _TextPositionColorAnimated: 0
+ - _TextPositionEmissionStrength: 0
+ - _TextPositionEmissionStrengthAnimated: 0
+ - _TextPositionEnabled: 0
+ - _TextPositionEnabledAnimated: 0
+ - _TextPositionOffsetAnimated: 0
+ - _TextPositionPaddingAnimated: 0
+ - _TextPositionRotation: 0
+ - _TextPositionRotationAnimated: 0
+ - _TextPositionScaleAnimated: 0
+ - _TextPositionUV: 0
+ - _TextPositionUVAnimated: 0
+ - _TextTimeColorAnimated: 0
+ - _TextTimeEmissionStrength: 0
+ - _TextTimeEmissionStrengthAnimated: 0
+ - _TextTimeEnabled: 0
+ - _TextTimeEnabledAnimated: 0
+ - _TextTimeOffsetAnimated: 0
+ - _TextTimePaddingAnimated: 0
+ - _TextTimeRotation: 0
+ - _TextTimeRotationAnimated: 0
+ - _TextTimeScaleAnimated: 0
+ - _TextTimeUV: 0
+ - _TextTimeUVAnimated: 0
+ - _TilingMode: 0
+ - _Toon: 1
+ - _ToonRampAnimated: 0
+ - _ToonShading: 1
+ - _ToonSpecularIntensity: 0.138
+ - _ToonSpecularSize: 0.735
+ - _TugArea: 0
+ - _TugOffset: 0
+ - _TugPoint: 0
+ - _UVSec: 0
+ - _UVSetAlbedo: 0
+ - _UVSetClipMap: 0
+ - _UVSetDetMask: 0
+ - _UVSetDetNormal: 0
+ - _UVSetDissolve: 0
+ - _UVSetEmission: 0
+ - _UVSetMetallic: 0
+ - _UVSetNormal: 0
+ - _UVSetOcclusion: 0
+ - _UVSetReflectivity: 0
+ - _UVSetSpecular: 0
+ - _UVSetThickness: 0
+ - _UseClipsForDissolve: 0
+ - _UseRefraction: 0
+ - _UseShadowTextureAnimated: 0
+ - _Use_1stAs2nd: 0
+ - _Use_1stAs2ndAnimated: 0
+ - _Use_1stShadeMapAlpha_As_ShadowMask: 0
+ - _Use_1stShadeMapAlpha_As_ShadowMaskAnimated: 0
+ - _Use_2ndShadeMapAlpha_As_ShadowMask: 0
+ - _Use_2ndShadeMapAlpha_As_ShadowMaskAnimated: 0
+ - _Use_BaseAs1st: 0
+ - _Use_BaseAs1stAnimated: 0
+ - _Value: 1
+ - _VertexColorAlbedo: 0
+ - _VertexGlitchFrequency: 0
+ - _VertexGlitchFrequencyAnimated: 0
+ - _VertexGlitchStrength: 1
+ - _VertexGlitchStrengthAnimated: 0
+ - _VertexGlitchThreshold: 1
+ - _VertexGlitchThresholdAnimated: 0
+ - _VertexManipulationHeight: 0
+ - _VertexManipulationHeightAnimated: 0
+ - _VertexManipulationHeightBias: 0
+ - _VertexManipulationHeightBiasAnimated: 0
+ - _VertexManipulationHeightMaskAnimated: 0
+ - _VertexManipulationHeightPanAnimated: 0
+ - _VertexManipulationHeightUV: 0
+ - _VertexManipulationHeightUVAnimated: 0
+ - _VertexManipulationLocalRotationAnimated: 0
+ - _VertexManipulationLocalScaleAnimated: 0
+ - _VertexManipulationLocalTranslationAnimated: 0
+ - _VertexManipulationWorldTranslationAnimated: 0
+ - _VertexManipulationsEnabled: 0
+ - _VertexRoundingDivision: 500
+ - _VertexRoundingDivisionAnimated: 0
+ - _VertexRoundingEnabled: 0
+ - _VertexRoundingEnabledAnimated: 0
+ - _VertexUnwrap: 0
+ - _VertexUnwrapAnimated: 0
+ - _VideoBacklight: 1
+ - _VideoBacklightAnimated: 0
+ - _VideoCRTPixelEnergizedTime: 1.9
+ - _VideoCRTPixelEnergizedTimeAnimated: 0
+ - _VideoCRTRefreshRate: 24
+ - _VideoCRTRefreshRateAnimated: 0
+ - _VideoContrast: 0
+ - _VideoContrastAnimated: 0
+ - _VideoDebugTextureAnimated: 0
+ - _VideoEmissionEnabled: 1
+ - _VideoEnableDebug: 0
+ - _VideoEnableDebugAnimated: 0
+ - _VideoEnableVideoPlayer: 0
+ - _VideoEnableVideoPlayerAnimated: 0
+ - _VideoGameboyRampAnimated: 0
+ - _VideoMaskPanningAnimated: 0
+ - _VideoMaskTextureAnimated: 0
+ - _VideoOffsetAnimated: 0
+ - _VideoPanningAnimated: 0
+ - _VideoPixelTextureAnimated: 0
+ - _VideoPixelateToResolution: 0
+ - _VideoPixelateToResolutionAnimated: 0
+ - _VideoRepeatVideoTexture: 0
+ - _VideoRepeatVideoTextureAnimated: 0
+ - _VideoResolutionAnimated: 0
+ - _VideoSaturation: 0
+ - _VideoSaturationAnimated: 0
+ - _VideoTilingAnimated: 0
+ - _VideoType: 3
+ - _VideoTypeAnimated: 0
+ - _VideoUVNumber: 0
+ - _VideoUVNumberAnimated: 0
+ - _VoronoiBlend: 0
+ - _VoronoiBlendAnimated: 0
+ - _VoronoiColor0Animated: 0
+ - _VoronoiColor1Animated: 0
+ - _VoronoiEffectsMaterialAlpha: 0
+ - _VoronoiEffectsMaterialAlphaAnimated: 0
+ - _VoronoiEmission0: 0
+ - _VoronoiEmission0Animated: 0
+ - _VoronoiEmission1: 0
+ - _VoronoiEmission1Animated: 0
+ - _VoronoiEnableRandomCellColor: 0
+ - _VoronoiEnableRandomCellColorAnimated: 0
+ - _VoronoiGradientAnimated: 0
+ - _VoronoiMaskAnimated: 0
+ - _VoronoiMaskPanAnimated: 0
+ - _VoronoiMaskUV: 0
+ - _VoronoiMaskUVAnimated: 0
+ - _VoronoiNoiseAnimated: 0
+ - _VoronoiNoiseIntensity: 0.1
+ - _VoronoiNoiseIntensityAnimated: 0
+ - _VoronoiNoisePanAnimated: 0
+ - _VoronoiNoiseUV: 0
+ - _VoronoiNoiseUVAnimated: 0
+ - _VoronoiRandomMinMaxBrightnessAnimated: 0
+ - _VoronoiRandomMinMaxSaturationAnimated: 0
+ - _VoronoiScale: 5
+ - _VoronoiScaleAnimated: 0
+ - _VoronoiSpace: 0
+ - _VoronoiSpaceAnimated: 0
+ - _VoronoiSpeedAnimated: 0
+ - _VoronoiType: 1
+ - _VoronoiTypeAnimated: 0
+ - _Wriggle: 0
+ - _WriggleSpeed: 6.2
+ - _ZTest: 4
+ - _ZTestAnimated: 0
+ - _ZWrite: 1
+ - _ZWriteAnimated: 0
+ - __dirty: 0
+ - _commentIfZero_EnableGrabpass: 0
+ - _commentIfZero_EnableOutlinePass: 0
+ - _commentIfZero_LightingAdditiveEnable: 1
+ - _commentIfZero_LightingAdditiveEnableAnimated: 0
+ - _debug: 0
+ - _glitterFrequencyLinearEmissive: 20
+ - _glitterFrequencyLinearEmissiveAnimated: 0
+ - _squeeze: 0.2
+ - footer_discord: 0
+ - footer_github: 0
+ - footer_patreon: 0
+ - footer_twitter: 0
+ - footer_youtube: 0
+ - m_ParallaxMap: 0
+ - m_Patreon: 0
+ - m_PostProcessing: 0
+ - m_Special_Effects: 0
+ - m_end_Alpha: 0
+ - m_end_BlackLight: 0
+ - m_end_Blur: 0
+ - m_end_BonusSliders: 0
+ - m_end_Bulge: 0
+ - m_end_CRT: 0
+ - m_end_CenterOutEmission: 0
+ - m_end_CenterOutEmission1: 0
+ - m_end_Decal0: 0
+ - m_end_Decal0AudioLink: 0
+ - m_end_Decal1: 0
+ - m_end_Decal1AudioLink: 0
+ - m_end_Decal2: 0
+ - m_end_Decal2AudioLink: 0
+ - m_end_Decal3: 0
+ - m_end_Decal3AudioLink: 0
+ - m_end_DecalSection: 0
+ - m_end_DetailOptions: 0
+ - m_end_DistortionAudioLink: 0
+ - m_end_Emission1AudioLink: 0
+ - m_end_EmissionAudioLink: 0
+ - m_end_FlipbookAudioLink: 0
+ - m_end_FresnelAlpha: 0
+ - m_end_Gameboy: 0
+ - m_end_GrabPass: 0
+ - m_end_Hologram: 0
+ - m_end_Iridescence: 0
+ - m_end_IridescenceAudioLink: 0
+ - m_end_Lighting: 0
+ - m_end_MainHueShift: 0
+ - m_end_MainVertexColors: 0
+ - m_end_Matcap2: 0
+ - m_end_Metallic: 0
+ - m_end_OutlineStencil: 0
+ - m_end_PathAudioLink: 0
+ - m_end_RGBMask: 0
+ - m_end_Refraction: 0
+ - m_end_RimAudioLink: 0
+ - m_end_SciFiSpawnIn: 0
+ - m_end_ShadowMix: 0
+ - m_end_Spawns: 0
+ - m_end_StencilPassOptions: 0
+ - m_end_Text: 0
+ - m_end_TextFPS: 0
+ - m_end_TextInstanceTime: 0
+ - m_end_TextPosition: 0
+ - m_end_TouchGlow: 0
+ - m_end_TouchOptions: 0
+ - m_end_VertexGlitch: 0
+ - m_end_Video: 0
+ - m_end_VideoDebug: 0
+ - m_end_VideoSettings: 0
+ - m_end_Voronoi: 0
+ - m_end_ambientOcclusion: 0
+ - m_end_angularFade: 0
+ - m_end_audioLink: 0
+ - m_end_audioLinkDebug: 0
+ - m_end_backFace: 0
+ - m_end_bakedLighting: 0
+ - m_end_blending: 0
+ - m_end_blinkingEmissionOptions: 0
+ - m_end_blinkingEmissionOptions1: 0
+ - m_end_brdf: 0
+ - m_end_clearCoat: 0
+ - m_end_crossfade: 0
+ - m_end_debugOptions: 0
+ - m_end_detailShadows: 0
+ - m_end_dissolve: 0
+ - m_end_dissolveAudioLink: 0
+ - m_end_dissolveHueShift: 0
+ - m_end_dissolveMasking: 0
+ - m_end_distanceFade: 0
+ - m_end_distortionFlow: 0
+ - m_end_emission1Options: 0
+ - m_end_emissionOptions: 0
+ - m_end_flipBook: 0
+ - m_end_flipbookHueShift: 0
+ - m_end_glitter: 0
+ - m_end_glitterHueShift: 0
+ - m_end_glitterRandom: 0
+ - m_end_glowInDarkEmissionOptions: 0
+ - m_end_glowInDarkEmissionOptions1: 0
+ - m_end_lightingAdvanced: 0
+ - m_end_lightingHSL: 0
+ - m_end_lightingModifiers: 0
+ - m_end_manualFlipbookControl: 0
+ - m_end_matcap: 0
+ - m_end_matcap2HueShift: 0
+ - m_end_matcapHueShift: 0
+ - m_end_mirrorOptions: 0
+ - m_end_outlineAdvanced: 0
+ - m_end_panosphereOptions: 0
+ - m_end_parallaxAdvanced: 0
+ - m_end_parallaxHeightmap: 0
+ - m_end_parallaxInternal: 0
+ - m_end_pathing: 0
+ - m_end_pointToPoint: 0
+ - m_end_raliv: 0
+ - m_end_ralivAdvanced: 0
+ - m_end_ralivOriface: 0
+ - m_end_ralivPenetrator: 0
+ - m_end_reflectionRim: 0
+ - m_end_rimHueShift: 0
+ - m_end_rimLightOptions: 0
+ - m_end_rimWidthNoise: 0
+ - m_end_scrollingEmission1Options: 0
+ - m_end_scrollingEmissionOptions: 0
+ - m_end_specular: 0
+ - m_end_specular1: 0
+ - m_end_subsurface: 0
+ - m_end_vertexManipulation: 0
+ - m_end_vilarPenetrator: 0
+ - m_end_voronoiRandom: 0
+ - m_lightingOptions: 0
+ - m_mainOptions: 0
+ - m_outlineOptions: 0
+ - m_renderingOptions: 0
+ - m_start_Alpha: 0
+ - m_start_BlackLight: 0
+ - m_start_Blur: 0
+ - m_start_BonusSliders: 0
+ - m_start_Bulge: 0
+ - m_start_CRT: 0
+ - m_start_CenterOutEmission: 0
+ - m_start_CenterOutEmission1: 0
+ - m_start_Decal0: 0
+ - m_start_Decal0AudioLink: 0
+ - m_start_Decal1: 0
+ - m_start_Decal1AudioLink: 0
+ - m_start_Decal2: 0
+ - m_start_Decal2AudioLink: 0
+ - m_start_Decal3: 0
+ - m_start_Decal3AudioLink: 0
+ - m_start_DecalSection: 0
+ - m_start_DetailOptions: 0
+ - m_start_DistortionAudioLink: 0
+ - m_start_Emission1AudioLink: 0
+ - m_start_EmissionAudioLink: 0
+ - m_start_FlipbookAudioLink: 0
+ - m_start_FresnelAlpha: 0
+ - m_start_Gameboy: 0
+ - m_start_GrabPass: 0
+ - m_start_Hologram: 0
+ - m_start_Iridescence: 0
+ - m_start_IridescenceAudioLink: 0
+ - m_start_Lighting: 0
+ - m_start_MainHueShift: 0
+ - m_start_MainVertexColors: 0
+ - m_start_Matcap2: 0
+ - m_start_Metallic: 0
+ - m_start_OutlineStencil: 0
+ - m_start_PathAudioLink: 0
+ - m_start_RGBMask: 0
+ - m_start_Refraction: 0
+ - m_start_RimAudioLink: 0
+ - m_start_ScifiSpawnIn: 0
+ - m_start_ShadowMix: 0
+ - m_start_Spawns: 0
+ - m_start_StencilPassOptions: 0
+ - m_start_Text: 0
+ - m_start_TextFPS: 0
+ - m_start_TextInstanceTime: 0
+ - m_start_TextPosition: 0
+ - m_start_TouchGlow: 0
+ - m_start_TouchOptions: 0
+ - m_start_VertexGlitch: 0
+ - m_start_Video: 0
+ - m_start_VideoDebug: 0
+ - m_start_VideoSettings: 0
+ - m_start_Voronoi: 0
+ - m_start_ambientOcclusion: 0
+ - m_start_angularFade: 0
+ - m_start_audioLink: 0
+ - m_start_audioLinkDebug: 0
+ - m_start_backFace: 0
+ - m_start_bakedLighting: 0
+ - m_start_blending: 0
+ - m_start_blinkingEmissionOptions: 0
+ - m_start_blinkingEmissionOptions1: 0
+ - m_start_brdf: 0
+ - m_start_clearCoat: 0
+ - m_start_crossfade: 0
+ - m_start_debugOptions: 0
+ - m_start_detailShadows: 0
+ - m_start_dissolve: 0
+ - m_start_dissolveAudioLink: 0
+ - m_start_dissolveHueShift: 0
+ - m_start_dissolveMasking: 0
+ - m_start_distanceFade: 0
+ - m_start_distortionFlow: 0
+ - m_start_emission1Options: 0
+ - m_start_emissionOptions: 0
+ - m_start_flipBook: 0
+ - m_start_flipbookHueShift: 0
+ - m_start_glitter: 0
+ - m_start_glitterHueShift: 0
+ - m_start_glitterRandom: 0
+ - m_start_glowInDarkEmissionOptions: 0
+ - m_start_glowInDarkEmissionOptions1: 0
+ - m_start_lightingAdvanced: 0
+ - m_start_lightingHSL: 0
+ - m_start_lightingModifiers: 0
+ - m_start_manualFlipbookControl: 0
+ - m_start_matcap: 0
+ - m_start_matcap2HueShift: 0
+ - m_start_matcapHueShift: 0
+ - m_start_mirrorOptions: 0
+ - m_start_outlineAdvanced: 0
+ - m_start_panosphereOptions: 0
+ - m_start_parallaxAdvanced: 0
+ - m_start_parallaxHeightmap: 0
+ - m_start_parallaxInternal: 0
+ - m_start_pathing: 0
+ - m_start_pointToPoint: 0
+ - m_start_raliv: 1
+ - m_start_ralivAdvanced: 0
+ - m_start_ralivOriface: 0
+ - m_start_ralivPenetrator: 1
+ - m_start_reflectionRim: 0
+ - m_start_rimHueShift: 0
+ - m_start_rimLightOptions: 0
+ - m_start_rimWidthNoise: 0
+ - m_start_scrollingEmissionOptions: 0
+ - m_start_scrollingEmissionOptions1: 0
+ - m_start_specular: 0
+ - m_start_specular1: 0
+ - m_start_subsurface: 0
+ - m_start_vertexManipulation: 0
+ - m_start_vilarPenetrator: 1
+ - m_start_voronoiRandom: 0
+ - m_thirdparty: 1
+ - shader_is_using_thry_editor: 69
+ - shader_master_label: 0
+ - shader_presets: 0
+ - shader_properties_label_file: 0
+ m_Colors:
+ - _1st_ShadeColor: {r: 1, g: 1, b: 1, a: 1}
+ - _1st_ShadeMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _2nd_ShadeColor: {r: 1, g: 1, b: 1, a: 1}
+ - _2nd_ShadeMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _AlphaColor: {r: 1, g: 1, b: 1, a: 1}
+ - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 0}
+ - _AnisoTangentMap1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _AnisoTangentMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkAddEmission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkAddEmission1: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal0Emission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal0Rotation: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal0Scale: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal1Emission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal1Rotation: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal1Scale: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal2Emission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal2Rotation: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal2Scale: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal3Emission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal3Rotation: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDecal3Scale: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkFlipbookAlpha: {r: 1, g: 1, b: 0, a: 0}
+ - _AudioLinkFlipbookEmission: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkFlipbookFrame: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkFlipbookScale: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathTimeOffsetB: {r: 0, g: 0, b: 0, a: 1}
+ - _AudioLinkPathTimeOffsetG: {r: 0, g: 0, b: 0, a: 1}
+ - _AudioLinkPathTimeOffsetR: {r: 0, g: 0, b: 0, a: 1}
+ - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkRimBrightnessAdd: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkRimEmissionAdd: {r: 0, g: 0, b: 0, a: 0}
+ - _AudioLinkRimWidthAdd: {r: 0, g: 0, b: 0, a: 0}
+ - _BRDFMetallicGlossMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _BRDFMetallicMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _BRDFSpecularMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1}
+ - _BackFacePanning: {r: 0, g: 0, b: 0, a: 0}
+ - _BlackLightMaskEnd: {r: 1, g: 1, b: 1, a: 1}
+ - _BlackLightMaskKeys: {r: 2, g: 3, b: 4, a: 5}
+ - _BlackLightMaskStart: {r: 0, g: 0, b: 0, a: 0}
+ - _BlueColor: {r: 1, g: 1, b: 1, a: 1}
+ - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ClearcoatMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ClipAgainstVertexColorGreaterZeroFive: {r: 1, g: 1, b: 1, a: 1}
+ - _ClipAgainstVertexColorLessZeroFive: {r: 1, g: 1, b: 1, a: 1}
+ - _ClippingMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _Color: {r: 1, g: 0.79079133, b: 0.7122642, a: 0}
+ - _DecalColor: {r: 1, g: 1, b: 1, a: 1}
+ - _DecalColor1: {r: 1, g: 1, b: 1, a: 1}
+ - _DecalColor2: {r: 1, g: 1, b: 1, a: 1}
+ - _DecalColor3: {r: 1, g: 1, b: 1, a: 1}
+ - _DecalMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DecalPosition: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DecalPosition1: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DecalPosition2: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DecalPosition3: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DecalScale: {r: 1, g: 1, b: 0, a: 0}
+ - _DecalScale1: {r: 1, g: 1, b: 0, a: 0}
+ - _DecalScale2: {r: 1, g: 1, b: 0, a: 0}
+ - _DecalScale3: {r: 1, g: 1, b: 0, a: 0}
+ - _DecalTexture1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _DecalTexture2Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _DecalTexture3Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _DecalTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _DepthGlowColor: {r: 1, g: 1, b: 1, a: 1}
+ - _DepthGradientPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DetailMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DetailNormalMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DetailTexPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DetailTint: {r: 1, g: 1, b: 1, a: 1}
+ - _DissolveColor: {r: 1, g: 1, b: 1, a: 1}
+ - _DissolveDetailNoisePan: {r: 0, g: 0, b: 0, a: 0}
+ - _DissolveEdgeColor: {r: 1, g: 1, b: 1, a: 1}
+ - _DissolveEndPoint: {r: 0, g: 1, b: 0, a: 0}
+ - _DissolveMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _DissolveStartPoint: {r: 0, g: -1, b: 0, a: 0}
+ - _DissolveTextureColor: {r: 1, g: 1, b: 1, a: 1}
+ - _DissolveToTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _DistortionSpeed: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DistortionSpeed1: {r: 0.5, g: 0.5, b: 0, a: 0}
+ - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0}
+ - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionCenterOutAddAudioLink: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionCenterOutAddAudioLink1: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissiveScroll_Direction: {r: 0, g: -10, b: 0, a: 0}
+ - _EmissiveScroll_Direction1: {r: 0, g: -10, b: 0, a: 0}
+ - _FlipbookColor: {r: 1, g: 1, b: 1, a: 1}
+ - _FlipbookCrossfadeRange: {r: 0.75, g: 1, b: 0, a: 1}
+ - _FlipbookMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _FlipbookScaleOffset: {r: 1, g: 1, b: 0, a: 0}
+ - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0}
+ - _GlitterColor: {r: 1, g: 1, b: 1, a: 1}
+ - _GlitterColorMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _GlitterMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _GlitterMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1}
+ - _GlitterMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1}
+ - _GlitterMinMaxSize: {r: 0.1, g: 0.5, b: 0, a: 1}
+ - _GlitterPan: {r: 0, g: 0, b: 0, a: 0}
+ - _GlitterTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _GrabPassBlendMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _GreenColor: {r: 1, g: 1, b: 1, a: 1}
+ - _HoloDirection: {r: 0, g: 1, b: 0, a: 1}
+ - _IridescenceAudioLinkEmission: {r: 0, g: 0, b: 0, a: 0}
+ - _LightingAOTexPan: {r: 0, g: 0, b: 0, a: 0}
+ - _LightingDetailShadowsPan: {r: 0, g: 0, b: 0, a: 0}
+ - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1}
+ - _LightingShadowMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _LineColor: {r: 1, g: 1, b: 1, a: 1}
+ - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _MainDistanceFade: {r: 0, g: 0, b: 0, a: 0}
+ - _MainFadeTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _MainTexPan: {r: 0, g: 0, b: 0, a: 0}
+ - _Matcap2Color: {r: 1, g: 1, b: 1, a: 1}
+ - _Matcap2MaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _MatcapColor: {r: 1, g: 1, b: 1, a: 1}
+ - _MatcapMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _MatcapTint: {r: 1, g: 1, b: 1, a: 1}
+ - _MetalReflectionTint: {r: 1, g: 1, b: 1, a: 1}
+ - _MetallicMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _MetallicTintMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _OcclusionColor: {r: 0, g: 0, b: 0, a: 0}
+ - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
+ - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0}
+ - _OutlineFadeDistance: {r: 0, g: 0, b: 0, a: 0}
+ - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0}
+ - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _PanoMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _PanosphereColor: {r: 1, g: 1, b: 1, a: 1}
+ - _PanospherePan: {r: 0, g: 0, b: 0, a: 0}
+ - _ParallaxHeightMapMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ParallaxHeightMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1}
+ - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1}
+ - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 0, a: 0}
+ - _ParallaxInternalPanSpeed: {r: 0, g: 0, b: 0, a: 0}
+ - _PathColorB: {r: 1, g: 1, b: 1, a: 1}
+ - _PathColorG: {r: 1, g: 1, b: 1, a: 1}
+ - _PathColorR: {r: 1, g: 1, b: 1, a: 1}
+ - _PathEmissionStrength: {r: 0, g: 0, b: 0, a: 1}
+ - _PathOffset: {r: 0, g: 0, b: 0, a: 1}
+ - _PathSegments: {r: 0, g: 0, b: 0, a: 1}
+ - _PathSoftness: {r: 1, g: 1, b: 1, a: 1}
+ - _PathSpeed: {r: 1, g: 1, b: 1, a: 1}
+ - _PathTime: {r: -999, g: -999, b: -999, a: 1}
+ - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 1}
+ - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RGBAlphaPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _RGBBluePanning: {r: 0, g: 0, b: 0, a: 0}
+ - _RGBGreenPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _RGBMaskPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _RGBRedPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _RedColor: {r: 1, g: 1, b: 1, a: 1}
+ - _RgbNormalAPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RgbNormalBPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RgbNormalGPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RgbNormalRPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RimColor: {r: 1, g: 1, b: 1, a: 1}
+ - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RimLightColor: {r: 1, g: 1, b: 1, a: 1}
+ - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RimTexPan: {r: 0, g: 0, b: 0, a: 0}
+ - _RimWidthNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0}
+ - _SSColor: {r: 0, g: 0, b: 0, a: 0}
+ - _SSSColor: {r: 1, g: 0, b: 0, a: 1}
+ - _SSSThicknessMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _ShadowRim: {r: 1, g: 1, b: 1, a: 1}
+ - _SmoothnessMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpawnInEmissionColor: {r: 1, g: 1, b: 1, a: 1}
+ - _SpawnInGradientFinish: {r: 0, g: -2, b: 0, a: 1}
+ - _SpawnInGradientStart: {r: 0, g: 2, b: 0, a: 1}
+ - _SpecularAnisoJitterMacro1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularAnisoJitterMacroPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularAnisoJitterMicro1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularAnisoJitterMicroPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMap1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMask1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMetallicMap1Pan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularMetallicMapPan: {r: 0, g: 0, b: 0, a: 0}
+ - _SpecularTint: {r: 1, g: 1, b: 1, a: 1}
+ - _SpecularTint1: {r: 1, g: 1, b: 1, a: 1}
+ - _SpecularToonInnerOuter: {r: 0.25, g: 0.3, b: 0, a: 1}
+ - _SpecularToonInnerOuter1: {r: 0.25, g: 0.3, b: 0, a: 1}
+ - _SssColorBleedAoWeights: {r: 0.4, g: 0.15, b: 0.13, a: 0}
+ - _SssTransmissionAbsorption: {r: -8, g: -40, b: -64, a: 0}
+ - _TargetNormal: {r: 0, g: 0, b: -1, a: 0}
+ - _TargetPosition: {r: 0, g: 0, b: 0.37, a: 0}
+ - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1}
+ - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0}
+ - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0}
+ - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1}
+ - _TextPositionColor: {r: 1, g: 0, b: 1, a: 1}
+ - _TextPositionOffset: {r: 0, g: 0, b: 0, a: 0}
+ - _TextPositionPadding: {r: 0, g: 0, b: 0, a: 0}
+ - _TextPositionScale: {r: 1, g: 1, b: 1, a: 1}
+ - _TextTimeColor: {r: 1, g: 0, b: 1, a: 1}
+ - _TextTimeOffset: {r: 0, g: 0, b: 0, a: 0}
+ - _TextTimePadding: {r: 0, g: 0, b: 0, a: 0}
+ - _TextTimeScale: {r: 1, g: 1, b: 1, a: 1}
+ - _VertexManipulationHeightPan: {r: 0, g: 0, b: 0, a: 0}
+ - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1}
+ - _VertexManipulationLocalScale: {r: 1, g: 1, b: 1, a: 1}
+ - _VertexManipulationLocalTranslation: {r: 0, g: 0, b: 0, a: 1}
+ - _VertexManipulationWorldTranslation: {r: 0, g: 0, b: 0, a: 1}
+ - _VideoMaskPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _VideoOffset: {r: 0, g: 0, b: 0, a: 0}
+ - _VideoPanning: {r: 0, g: 0, b: 0, a: 0}
+ - _VideoResolution: {r: 1280, g: 720, b: 0, a: 1}
+ - _VideoTiling: {r: 1, g: 1, b: 0, a: 0}
+ - _VoronoiColor0: {r: 0, g: 0, b: 0, a: 1}
+ - _VoronoiColor1: {r: 1, g: 1, b: 1, a: 1}
+ - _VoronoiGradient: {r: 0.04, g: 0.05, b: 0, a: 0}
+ - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0}
+ - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0}
+ - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1}
+ - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1}
+ - _VoronoiSpeed: {r: 3, g: 3, b: 3, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat.meta
new file mode 100644
index 00000000..397cbed8
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Poi.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 619521d0daf09ec4d97f374ea6bba1e9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat
new file mode 100644
index 00000000..d177426b
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat
@@ -0,0 +1,130 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Human_Basic_Toon
+ m_Shader: {fileID: 4800000, guid: 7963c6f0f8df61643b628fa902468c5f, type: 3}
+ m_ShaderKeywords: _TOONSHADING_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: 16f567149263a034bae9c41996f80d7f, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Emission:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 481802ff70cb31242970f305c101d22b, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Metallic:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Occlusion:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ 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:
+ - _AlphaCutoff: 0.5
+ - _BuldgeOffset: 0.15
+ - _BuldgePower: 0.00304
+ - _BulgeOffset: 0.158
+ - _BulgePower: 0.00127
+ - _BumpScale: 1
+ - _CellShadingSharpness: 0.723
+ - _CellShadingSmoothness: 0
+ - _Curvature: 0
+ - _Cutoff: 0.5
+ - _Debug: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EmissionPower: 1
+ - _EntranceStiffness: 0.01
+ - _Float3: 52.68
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _ID: 1
+ - _IDNormal: 2
+ - _ID_Normal: 1.7
+ - _ID_Oriface: 1.9
+ - _ID_Physics: 1.5
+ - _Length: 0.4
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _OrificeChannel: 0
+ - _Parallax: 0.02
+ - _ReCurvature: 0
+ - _Shininess: 0.01
+ - _Smoothness: 0.106
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SqueezeDist: 0.0259
+ - _SrcBlend: 1
+ - _Toon: 1
+ - _ToonShading: 1
+ - _ToonSpecularIntensity: 0.138
+ - _ToonSpecularSize: 0.735
+ - _TugArea: 0
+ - _TugOffset: 0
+ - _TugPoint: 0
+ - _UVSec: 0
+ - _Wriggle: 0
+ - _WriggleSpeed: 6.2
+ - _ZWrite: 1
+ - __dirty: 0
+ - _debug: 0
+ - _squeeze: 0.032
+ m_Colors:
+ - _Color: {r: 1, g: 0.79079133, b: 0.7122642, a: 0}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _TargetNormal: {r: 0, g: 0, b: -1, a: 0}
+ - _TargetPosition: {r: 0, g: 0, b: 0.37, a: 0}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat.meta
new file mode 100644
index 00000000..6f334ab7
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_Toon.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 69e2ad718401a3d449a20e7249a280ba
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat
new file mode 100644
index 00000000..4a5ad790
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat
@@ -0,0 +1,266 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Human_Basic_XSToon
+ m_Shader: {fileID: 4800000, guid: 662671fda57976d4dbecf70a929ad463, type: 3}
+ m_ShaderKeywords: _TOONSHADING_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 2000
+ stringTagMap: {}
+ disabledShaderPasses:
+ - ALWAYS
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BakedCubemap:
+ m_Texture: {fileID: 8900000, guid: 2f2de34b7954ecd4686bd45ffc93ae46, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: 16f567149263a034bae9c41996f80d7f, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ClipMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DissolveTexture:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Emission:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _HSVMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 481802ff70cb31242970f305c101d22b, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Matcap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Metallic:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 2800000, guid: 9cac8cfbb7e37034dad5be69b7246307, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Occlusion:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OutlineMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Ramp:
+ m_Texture: {fileID: 2800000, guid: 4122f021ef68dbd4db09043994cb84f5, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _RampSelectionMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ReflectivityMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecularMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ThicknessMap:
+ 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:
+ - _AdvMode: 0
+ - _AlphaCutoff: 0.5
+ - _AlphaToMask: 0
+ - _AnisotropicAX: 0.25
+ - _AnisotropicAY: 0.75
+ - _AnisotropicReflection: 0
+ - _AnisotropicSpecular: 0
+ - _BlendMode: 0
+ - _BuldgeOffset: 0.15
+ - _BuldgePower: 0.00304
+ - _BulgeOffset: 0.158
+ - _BulgePower: 0.029
+ - _BumpScale: 1
+ - _CellShadingSharpness: 0.723
+ - _CellShadingSmoothness: 0
+ - _ClearCoat: 0
+ - _ClearcoatSmoothness: 0.8
+ - _ClearcoatStrength: 1
+ - _Culling: 2
+ - _Curvature: 0
+ - _Cutoff: 0.5
+ - _Debug: 1
+ - _DetailNormalMapScale: 1
+ - _DissolveCoordinates: 0
+ - _DissolveProgress: 0
+ - _DissolveStrength: 1
+ - _DstBlend: 0
+ - _EmissionPower: 1
+ - _EmissionToDiffuse: 0
+ - _EntranceStiffness: 0.01
+ - _FadeDither: 0
+ - _FadeDitherDistance: 0
+ - _Float3: 52.68
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _HalftoneDotAmount: 5
+ - _HalftoneDotSize: 0.5
+ - _HalftoneLineAmount: 2000
+ - _HalftoneLineIntensity: 1
+ - _HalftoneType: 3
+ - _Hue: 0
+ - _ID: 1
+ - _IDNormal: 2
+ - _ID_Normal: 1.7
+ - _ID_Oriface: 1.9
+ - _ID_Physics: 1.5
+ - _IOR: 0
+ - _Length: 0.35803357
+ - _MatcapTintToDiffuse: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _NormalMapMode: 0
+ - _OcclusionIntensity: 1
+ - _OcclusionMode: 0
+ - _OcclusionStrength: 1
+ - _OrificeChannel: 0
+ - _OutlineAlbedoTint: 0
+ - _OutlineLighting: 0
+ - _OutlineNormalMode: 0
+ - _OutlineUVSelect: 2
+ - _OutlineWidth: 1
+ - _Parallax: 0.02
+ - _ReCurvature: 0
+ - _ReflectionBlendMode: 0
+ - _ReflectionMode: 0
+ - _Reflectivity: 1
+ - _RefractionModel: 0
+ - _RimAlbedoTint: 0.501
+ - _RimAttenEffect: 1
+ - _RimCubemapTint: 0.502
+ - _RimIntensity: 0
+ - _RimRange: 0.7
+ - _RimSharpness: 0.1
+ - _RimThreshold: 0.1
+ - _SSDistortion: 1
+ - _SSPower: 1
+ - _SSScale: 1
+ - _Saturation: 1
+ - _ScaleWithLight: 1
+ - _ScaleWithLightSensitivity: 1
+ - _ShadowRimAlbedoTint: 1
+ - _ShadowRimRange: 0.865
+ - _ShadowRimSharpness: 0.658
+ - _ShadowRimThreshold: 0.535
+ - _ShadowSharpness: 0.5
+ - _Shininess: 0.01
+ - _Smoothness: 0.106
+ - _SmoothnessTextureChannel: 0
+ - _SpecMode: 0
+ - _SpecularAlbedoTint: 1
+ - _SpecularArea: 0.5
+ - _SpecularHighlights: 1
+ - _SpecularIntensity: 0
+ - _SpecularSharpness: 0
+ - _SpecularStyle: 0
+ - _Squeeze: 0.0266
+ - _SqueezeDist: 0.0259
+ - _SrcBlend: 1
+ - _Stencil: 0
+ - _StencilComp: 0
+ - _StencilOp: 0
+ - _TilingMode: 0
+ - _Toon: 1
+ - _ToonShading: 1
+ - _ToonSpecularIntensity: 0.138
+ - _ToonSpecularSize: 0.735
+ - _TugArea: 0
+ - _TugOffset: 0
+ - _TugPoint: 0
+ - _UVSec: 0
+ - _UVSetAlbedo: 0
+ - _UVSetClipMap: 0
+ - _UVSetDetMask: 0
+ - _UVSetDetNormal: 0
+ - _UVSetDissolve: 0
+ - _UVSetEmission: 0
+ - _UVSetMetallic: 0
+ - _UVSetNormal: 0
+ - _UVSetOcclusion: 0
+ - _UVSetReflectivity: 0
+ - _UVSetSpecular: 0
+ - _UVSetThickness: 0
+ - _UseClipsForDissolve: 0
+ - _UseRefraction: 0
+ - _Value: 1
+ - _VertexColorAlbedo: 0
+ - _Wriggle: 0
+ - _WriggleSpeed: 6.2
+ - _ZWrite: 1
+ - __dirty: 0
+ - _debug: 0
+ - _squeeze: 0.032
+ m_Colors:
+ - _ClipAgainstVertexColorGreaterZeroFive: {r: 1, g: 1, b: 1, a: 1}
+ - _ClipAgainstVertexColorLessZeroFive: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 0.79079133, b: 0.7122642, a: 0}
+ - _DissolveColor: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _MatcapTint: {r: 1, g: 1, b: 1, a: 1}
+ - _OcclusionColor: {r: 0, g: 0, b: 0, a: 0}
+ - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
+ - _RimColor: {r: 1, g: 1, b: 1, a: 1}
+ - _SSColor: {r: 0, g: 0, b: 0, a: 0}
+ - _ShadowRim: {r: 1, g: 1, b: 1, a: 1}
+ - _TargetNormal: {r: 0, g: 0, b: -1, a: 0}
+ - _TargetPosition: {r: 0, g: 0, b: 0.37, a: 0}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat.meta
new file mode 100644
index 00000000..cafa1ac3
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/Human_Basic_XSToon.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 041da524b0ded9a4ebf1da4e070362d6
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders.meta
new file mode 100644
index 00000000..3304d472
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e59c968abbc218b40af1146999a18781
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi.meta
new file mode 100644
index 00000000..1f4ac1fb
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6891e213f8c67484e8437dd9f1c0aa51
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc
new file mode 100644
index 00000000..d36f7fe0
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc
@@ -0,0 +1,273 @@
+#ifndef POI_FUNCTIONS_ARTISTIC
+ #define POI_FUNCTIONS_ARTISTIC
+ void poiChannelMixer(float3 In, float3 _ChannelMixer_Red, float3 _ChannelMixer_Green, float3 _ChannelMixer_Blue, out float3 Out)
+ {
+ Out = float3(dot(In, _ChannelMixer_Red), dot(In, _ChannelMixer_Green), dot(In, _ChannelMixer_Blue));
+ }
+ void poiContrast(float3 In, float Contrast, out float3 Out)
+ {
+ float midpoint = pow(0.5, 2.2);
+ Out = (In - midpoint) * Contrast + midpoint;
+ }
+ void poiInvertColors(float4 In, float4 InvertColors, out float4 Out)
+ {
+ Out = abs(InvertColors - In);
+ }
+ void poiReplaceColor(float3 In, float3 From, float3 To, float Range, float Fuzziness, out float3 Out)
+ {
+ float Distance = distance(From, In);
+ Out = lerp(To, In, saturate((Distance - Range) / max(Fuzziness, 0.00001)));
+ }
+ void poiSaturation(float3 In, float Saturation, out float3 Out)
+ {
+ float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750));
+ Out = luma.xxx + Saturation.xxx * (In - luma.xxx);
+ }
+ void poiDither(float4 In, float4 ScreenPosition, out float4 Out)
+ {
+ float2 uv = ScreenPosition.xy * _ScreenParams.xy;
+ float 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;
+ Out = In - DITHER_THRESHOLDS[index];
+ }
+ void poiColorMask(float3 In, float3 MaskColor, float Range, float Fuzziness, out float4 Out)
+ {
+ float Distance = distance(MaskColor, In);
+ Out = saturate(1 - (Distance - Range) / max(Fuzziness, 0.00001));
+ }
+ float3 hueShift(float3 color, float Offset)
+ {
+ float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
+ float4 P = lerp(float4(color.bg, K.wz), float4(color.gb, K.xy), step(color.b, color.g));
+ float4 Q = lerp(float4(P.xyw, color.r), float4(color.r, P.yzx), step(P.x, color.r));
+ float D = Q.x - min(Q.w, Q.y);
+ float E = 0.0000000001;
+ float3 hsv = float3(abs(Q.z + (Q.w - Q.y) / (6.0 * D + E)), D / (Q.x + E), Q.x);
+ float hue = hsv.x + Offset;
+ hsv.x = frac(hue);
+ float4 K2 = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
+ float3 P2 = abs(frac(hsv.xxx + K2.xyz) * 6.0 - K2.www);
+ return hsv.z * lerp(K2.xxx, saturate(P2 - K2.xxx), hsv.y);
+ }
+ static const float Epsilon = 1e-10;
+ static const float3 HCYwts = float3(0.299, 0.587, 0.114);
+ static const float HCLgamma = 3;
+ static const float HCLy0 = 100;
+ static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5
+ static const float3 wref = float3(1.0, 1.0, 1.0);
+ #define TAU 6.28318531
+ float3 HUEtoRGB(in float H)
+ {
+ float R = abs(H * 6 - 3) - 1;
+ float G = 2 - abs(H * 6 - 2);
+ float B = 2 - abs(H * 6 - 4);
+ return saturate(float3(R, G, B));
+ }
+ float3 RGBtoHCV(in float3 RGB)
+ {
+ float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0);
+ float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx);
+ float C = Q.x - min(Q.w, Q.y);
+ float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z);
+ return float3(H, C, Q.x);
+ }
+ float3 HSVtoRGB(in float3 HSV)
+ {
+ float3 RGB = HUEtoRGB(HSV.x);
+ return((RGB - 1) * HSV.y + 1) * HSV.z;
+ }
+ float3 RGBtoHSV(in float3 RGB)
+ {
+ float3 HCV = RGBtoHCV(RGB);
+ float S = HCV.y / (HCV.z + Epsilon);
+ return float3(HCV.x, S, HCV.z);
+ }
+ float3 HSLtoRGB(in float3 HSL)
+ {
+ float3 RGB = HUEtoRGB(HSL.x);
+ float C = (1 - abs(2 * HSL.z - 1)) * HSL.y;
+ return(RGB - 0.5) * C + HSL.z;
+ }
+ float3 RGBtoHSL(in float3 RGB)
+ {
+ float3 HCV = RGBtoHCV(RGB);
+ float L = HCV.z - HCV.y * 0.5;
+ float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon);
+ return float3(HCV.x, S, L);
+ }
+ float3 HCYtoRGB(in float3 HCY)
+ {
+ float3 RGB = HUEtoRGB(HCY.x);
+ float Z = dot(RGB, HCYwts);
+ if (HCY.z < Z)
+ {
+ HCY.y *= HCY.z / Z;
+ }
+ else if(Z < 1)
+ {
+ HCY.y *= (1 - HCY.z) / (1 - Z);
+ }
+ return(RGB - Z) * HCY.y + HCY.z;
+ }
+ float3 RGBtoHCY(in float3 RGB)
+ {
+ float3 HCV = RGBtoHCV(RGB);
+ float Y = dot(RGB, HCYwts);
+ float Z = dot(HUEtoRGB(HCV.x), HCYwts);
+ if (Y < Z)
+ {
+ HCV.y *= Z / (Epsilon + Y);
+ }
+ else
+ {
+ HCV.y *= (1 - Z) / (Epsilon + 1 - Y);
+ }
+ return float3(HCV.x, HCV.y, Y);
+ }
+ float3 HCLtoRGB(in float3 HCL)
+ {
+ float3 RGB = 0;
+ if(HCL.z != 0)
+ {
+ float H = HCL.x;
+ float C = HCL.y;
+ float L = HCL.z * HCLmaxL;
+ float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0));
+ float U = (2 * L - C) / (2 * Q - 1);
+ float V = C / Q;
+ float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2;
+ float T;
+ H *= 6;
+ if(H <= 0.999)
+ {
+ T = tan(A);
+ RGB.r = 1;
+ RGB.g = T / (1 + T);
+ }
+ else if(H <= 1.001)
+ {
+ RGB.r = 1;
+ RGB.g = 1;
+ }
+ else if(H <= 2)
+ {
+ T = tan(A);
+ RGB.r = (1 + T) / T;
+ RGB.g = 1;
+ }
+ else if(H <= 3)
+ {
+ T = tan(A);
+ RGB.g = 1;
+ RGB.b = 1 + T;
+ }
+ else if(H <= 3.999)
+ {
+ T = tan(A);
+ RGB.g = 1 / (1 + T);
+ RGB.b = 1;
+ }
+ else if(H <= 4.001)
+ {
+ RGB.g = 0;
+ RGB.b = 1;
+ }
+ else if(H <= 5)
+ {
+ T = tan(A);
+ RGB.r = -1 / T;
+ RGB.b = 1;
+ }
+ else
+ {
+ T = tan(A);
+ RGB.r = 1;
+ RGB.b = -T;
+ }
+ RGB = RGB * V + U;
+ }
+ return RGB;
+ }
+ float3 RGBtoHCL(in float3 RGB)
+ {
+ float3 HCL;
+ float H = 0;
+ float U = min(RGB.r, min(RGB.g, RGB.b));
+ float V = max(RGB.r, max(RGB.g, RGB.b));
+ float Q = HCLgamma / HCLy0;
+ HCL.y = V - U;
+ if(HCL.y != 0)
+ {
+ H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi;
+ Q *= U / V;
+ }
+ Q = exp(Q);
+ HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6);
+ HCL.y *= Q;
+ HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2);
+ return HCL;
+ }
+ float3 ModifyViaHSL(float3 color, float3 HSLMod)
+ {
+ float3 colorHSL = RGBtoHSL(color);
+ colorHSL.r = frac(colorHSL.r + HSLMod.r);
+ colorHSL.g = saturate(colorHSL.g + HSLMod.g);
+ colorHSL.b = saturate(colorHSL.b + HSLMod.b);
+ return HSLtoRGB(colorHSL);
+ }
+ float3 poiSaturation(float3 In, float Saturation)
+ {
+ float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750));
+ return luma.xxx + Saturation.xxx * (In - luma.xxx);
+ }
+ float xyzF(float t)
+ {
+ return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645));
+ }
+ float xyzR(float t)
+ {
+ return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655));
+ }
+ float3 rgb2lch(in float3 c)
+ {
+ c = mul(float3x3(0.4124, 0.3576, 0.1805,
+ 0.2126, 0.7152, 0.0722,
+ 0.0193, 0.1192, 0.9505), c);
+ c.x = xyzF(c.x / wref.x);
+ c.y = xyzF(c.y / wref.y);
+ c.z = xyzF(c.z / wref.z);
+ float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z));
+ return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y));
+ }
+ float3 lch2rgb(in float3 c)
+ {
+ c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y);
+ float lg = 1. / 116. * (c.x + 16.);
+ float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y),
+ wref.y * xyzR(lg),
+ wref.z * xyzR(lg - 0.005 * c.z));
+ float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986,
+ - 0.9689, 1.8758, 0.0415,
+ 0.0557, -0.2040, 1.0570), xyz);
+ return rgb;
+ }
+ float lerpAng(in float a, in float b, in float x)
+ {
+ float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi;
+ return ang * x + b;
+ }
+ float3 lerpLch(in float3 a, in float3 b, in float x)
+ {
+ float hue = lerpAng(a.z, b.z, x);
+ return float3(lerp(b.xy, a.xy, x), hue);
+ }
+ float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha)
+ {
+ return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha));
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc.meta
new file mode 100644
index 00000000..e076b3eb
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_FunctionsArtistic.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 07ee33c9da2a0e344b21d4797eaf059c
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc
new file mode 100644
index 00000000..3603b50f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc
@@ -0,0 +1,25 @@
+#ifndef POI_ALPHA_TO_COVERAGE
+ #define POI_ALPHA_TO_COVERAGE
+ half _MainMipScale;
+ float _MainAlphaToCoverage;
+ float CalcMipLevel(float2 texture_coord)
+ {
+ float2 dx = ddx(texture_coord);
+ float2 dy = ddy(texture_coord);
+ float delta_max_sqr = max(dot(dx, dx), dot(dy, dy));
+ return 0.5 * log2(delta_max_sqr);
+ }
+ void ApplyAlphaToCoverage(inout float4 finalColor)
+ {
+
+ if (float(0) == 1)
+ {
+
+ if(float(0))
+ {
+ finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.0009765625,0.0009765625,1024,1024).zw)) * float(0.25);
+ finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5);
+ }
+ }
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc.meta
new file mode 100644
index 00000000..5fa404d5
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiAlphaToCoverage.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6388343314fb0f14a9b74333bd358dbb
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc
new file mode 100644
index 00000000..0b48fc9c
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc
@@ -0,0 +1,42 @@
+#ifndef POI_BACKFACE
+#define POI_BACKFACE
+float _BackFaceEnabled;
+float _BackFaceTextureUV;
+float _BackFaceDetailIntensity;
+float _BackFaceEmissionStrength;
+float2 _BackFacePanning;
+float _BackFaceHueShift;
+float4 _BackFaceColor;
+float _BackFaceReplaceAlpha;
+#if defined(PROP_BACKFACETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST;
+#endif
+float3 BackFaceColor;
+void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission)
+{
+ backFaceEmission = 0;
+ BackFaceColor = 0;
+
+ if (float(0))
+ {
+ if (!poiMesh.isFrontFace)
+ {
+ #if defined(PROP_BACKFACETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ float4 backFaceTex = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1);
+ #else
+ float4 backFaceTex = float4(1,1,1,1);
+ #endif
+ albedo.rgb = backFaceTex.rgb;
+
+ if (float(0))
+ {
+ albedo.a = backFaceTex.a;
+ }
+ backFaceDetailIntensity = float(1);
+ BackFaceColor = albedo.rgb;
+ mixedHueShift = float(0);
+ backFaceEmission = BackFaceColor * float(0);
+ }
+ }
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc.meta
new file mode 100644
index 00000000..f5f75499
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBackFace.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 24a9a3796981a9742a29e9f3028668b7
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc
new file mode 100644
index 00000000..dc2ec7c5
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc
@@ -0,0 +1,297 @@
+#ifndef POI_BLENDING
+ #define POI_BLENDING
+ float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor)
+ {
+ float4 sA = 1 - blendFactor;
+ const float4 blendData[11] = {
+ float4(0.0, 0.0, 0.0, 0.0),
+ float4(1.0, 1.0, 1.0, 1.0),
+ destinationColor,
+ sourceColor,
+ float4(1.0, 1.0, 1.0, 1.0) - destinationColor,
+ sA,
+ float4(1.0, 1.0, 1.0, 1.0) - sourceColor,
+ sA,
+ float4(1.0, 1.0, 1.0, 1.0) - sA,
+ saturate(sourceColor.aaaa),
+ 1 - sA,
+ };
+ return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor, sourceColor, sA);
+ }
+ float3 blendAverage(float3 base, float3 blend)
+ {
+ return(base + blend) / 2.0;
+ }
+ float blendColorBurn(float base, float blend)
+ {
+ return(blend == 0.0)?blend: max((1.0 - ((1.0 - base) / blend)), 0.0);
+ }
+ float3 blendColorBurn(float3 base, float3 blend)
+ {
+ return float3(blendColorBurn(base.r, blend.r), blendColorBurn(base.g, blend.g), blendColorBurn(base.b, blend.b));
+ }
+ float blendColorDodge(float base, float blend)
+ {
+ return(blend == 1.0)?blend: min(base / (1.0 - blend), 1.0);
+ }
+ float3 blendColorDodge(float3 base, float3 blend)
+ {
+ return float3(blendColorDodge(base.r, blend.r), blendColorDodge(base.g, blend.g), blendColorDodge(base.b, blend.b));
+ }
+ float blendDarken(float base, float blend)
+ {
+ return min(blend, base);
+ }
+ float3 blendDarken(float3 base, float3 blend)
+ {
+ return float3(blendDarken(base.r, blend.r), blendDarken(base.g, blend.g), blendDarken(base.b, blend.b));
+ }
+ float3 blendExclusion(float3 base, float3 blend)
+ {
+ return base + blend - 2.0 * base * blend;
+ }
+ float blendReflect(float base, float blend)
+ {
+ return(blend == 1.0)?blend: min(base * base / (1.0 - blend), 1.0);
+ }
+ float3 blendReflect(float3 base, float3 blend)
+ {
+ return float3(blendReflect(base.r, blend.r), blendReflect(base.g, blend.g), blendReflect(base.b, blend.b));
+ }
+ float3 blendGlow(float3 base, float3 blend)
+ {
+ return blendReflect(blend, base);
+ }
+ float blendOverlay(float base, float blend)
+ {
+ return base < 0.5?(2.0 * base * blend): (1.0 - 2.0 * (1.0 - base) * (1.0 - blend));
+ }
+ float3 blendOverlay(float3 base, float3 blend)
+ {
+ return float3(blendOverlay(base.r, blend.r), blendOverlay(base.g, blend.g), blendOverlay(base.b, blend.b));
+ }
+ float3 blendHardLight(float3 base, float3 blend)
+ {
+ return blendOverlay(blend, base);
+ }
+ float blendVividLight(float base, float blend)
+ {
+ return(blend < 0.5)?blendColorBurn(base, (2.0 * blend)): blendColorDodge(base, (2.0 * (blend - 0.5)));
+ }
+ float3 blendVividLight(float3 base, float3 blend)
+ {
+ return float3(blendVividLight(base.r, blend.r), blendVividLight(base.g, blend.g), blendVividLight(base.b, blend.b));
+ }
+ float blendHardMix(float base, float blend)
+ {
+ return(blendVividLight(base, blend) < 0.5)?0.0: 1.0;
+ }
+ float3 blendHardMix(float3 base, float3 blend)
+ {
+ return float3(blendHardMix(base.r, blend.r), blendHardMix(base.g, blend.g), blendHardMix(base.b, blend.b));
+ }
+ float blendLighten(float base, float blend)
+ {
+ return max(blend, base);
+ }
+ float3 blendLighten(float3 base, float3 blend)
+ {
+ return float3(blendLighten(base.r, blend.r), blendLighten(base.g, blend.g), blendLighten(base.b, blend.b));
+ }
+ float blendLinearBurn(float base, float blend)
+ {
+ return max(base + blend - 1.0, 0.0);
+ }
+ float3 blendLinearBurn(float3 base, float3 blend)
+ {
+ return max(base + blend - float3(1.0, 1.0, 1.0), float3(0.0, 0.0, 0.0));
+ }
+ float blendLinearDodge(float base, float blend)
+ {
+ return min(base + blend, 1.0);
+ }
+ float3 blendLinearDodge(float3 base, float3 blend)
+ {
+ return min(base + blend, float3(1.0, 1.0, 1.0));
+ }
+ float blendLinearLight(float base, float blend)
+ {
+ return blend < 0.5?blendLinearBurn(base, (2.0 * blend)): blendLinearDodge(base, (2.0 * (blend - 0.5)));
+ }
+ float3 blendLinearLight(float3 base, float3 blend)
+ {
+ return float3(blendLinearLight(base.r, blend.r), blendLinearLight(base.g, blend.g), blendLinearLight(base.b, blend.b));
+ }
+ float3 blendMultiply(float3 base, float3 blend)
+ {
+ return base * blend;
+ }
+ float3 blendNegation(float3 base, float3 blend)
+ {
+ return float3(1.0, 1.0, 1.0) - abs(float3(1.0, 1.0, 1.0) - base - blend);
+ }
+ float3 blendNormal(float3 base, float3 blend)
+ {
+ return blend;
+ }
+ float3 blendPhoenix(float3 base, float3 blend)
+ {
+ return min(base, blend) - max(base, blend) + float3(1.0, 1.0, 1.0);
+ }
+ float blendPinLight(float base, float blend)
+ {
+ return(blend < 0.5)?blendDarken(base, (2.0 * blend)): blendLighten(base, (2.0 * (blend - 0.5)));
+ }
+ float3 blendPinLight(float3 base, float3 blend)
+ {
+ return float3(blendPinLight(base.r, blend.r), blendPinLight(base.g, blend.g), blendPinLight(base.b, blend.b));
+ }
+ float blendScreen(float base, float blend)
+ {
+ return 1.0 - ((1.0 - base) * (1.0 - blend));
+ }
+ float3 blendScreen(float3 base, float3 blend)
+ {
+ return float3(blendScreen(base.r, blend.r), blendScreen(base.g, blend.g), blendScreen(base.b, blend.b));
+ }
+ float blendSoftLight(float base, float blend)
+ {
+ return(blend < 0.5)?(2.0 * base * blend + base * base * (1.0 - 2.0 * blend)): (sqrt(base) * (2.0 * blend - 1.0) + 2.0 * base * (1.0 - blend));
+ }
+ float3 blendSoftLight(float3 base, float3 blend)
+ {
+ return float3(blendSoftLight(base.r, blend.r), blendSoftLight(base.g, blend.g), blendSoftLight(base.b, blend.b));
+ }
+ float blendSubtract(float base, float blend)
+ {
+ return max(base - blend, 0.0);
+ }
+ float3 blendSubtract(float3 base, float3 blend)
+ {
+ return max(base - blend, 0.0);
+ }
+ float blendDifference(float base, float blend)
+ {
+ return abs(base - blend);
+ }
+ float3 blendDifference(float3 base, float3 blend)
+ {
+ return abs(base - blend);
+ }
+ float blendDivide(float base, float blend)
+ {
+ return base / max(blend, 0.0001);
+ }
+ float3 blendDivide(float3 base, float3 blend)
+ {
+ return base / max(blend, 0.0001);
+ }
+ float3 customBlend(float3 base, float3 blend, float blendType)
+ {
+ float3 ret = 0;
+ switch(blendType)
+ {
+ case 0:
+ {
+ ret = blendNormal(base, blend);
+ break;
+ }
+ case 1:
+ {
+ ret = blendDarken(base, blend);
+ break;
+ }
+ case 2:
+ {
+ ret = blendMultiply(base, blend);
+ break;
+ }
+ case 3:
+ {
+ ret = blendColorBurn(base, blend);
+ break;
+ }
+ case 4:
+ {
+ ret = blendLinearBurn(base, blend);
+ break;
+ }
+ case 5:
+ {
+ ret = blendLighten(base, blend);
+ break;
+ }
+ case 6:
+ {
+ ret = blendScreen(base, blend);
+ break;
+ }
+ case 7:
+ {
+ ret = blendColorDodge(base, blend);
+ break;
+ }
+ case 8:
+ {
+ ret = blendLinearDodge(base, blend);
+ break;
+ }
+ case 9:
+ {
+ ret = blendOverlay(base, blend);
+ break;
+ }
+ case 10:
+ {
+ ret = blendSoftLight(base, blend);
+ break;
+ }
+ case 11:
+ {
+ ret = blendHardLight(base, blend);
+ break;
+ }
+ case 12:
+ {
+ ret = blendVividLight(base, blend);
+ break;
+ }
+ case 13:
+ {
+ ret = blendLinearLight(base, blend);
+ break;
+ }
+ case 14:
+ {
+ ret = blendPinLight(base, blend);
+ break;
+ }
+ case 15:
+ {
+ ret = blendHardMix(base, blend);
+ break;
+ }
+ case 16:
+ {
+ ret = blendDifference(base, blend);
+ break;
+ }
+ case 17:
+ {
+ ret = blendExclusion(base, blend);
+ break;
+ }
+ case 18:
+ {
+ ret = blendSubtract(base, blend);
+ break;
+ }
+ case 19:
+ {
+ ret = blendDivide(base, blend);
+ break;
+ }
+ }
+ return ret;
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc.meta
new file mode 100644
index 00000000..fa90e211
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiBlending.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 980c89f195b67dc42938aa78c55b6714
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc
new file mode 100644
index 00000000..0f6eec58
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc
@@ -0,0 +1,194 @@
+#ifndef POI_DATA
+#define POI_DATA
+float _ParallaxBias;
+float _LightingAdditiveLimitIntensity;
+float _LightingAdditiveMaxIntensity;
+POI_TEXTURE_NOSAMPLER(_BumpMap);
+float _BumpScale;
+void calculateAttenuation(v2f i)
+{
+ #ifdef FORWARD_ADD_PASS
+ #if defined(POINT) || defined(SPOT)
+ POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz)
+ poiLight.additiveShadow = shadow;
+ #else
+ UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz)
+ poiLight.additiveShadow == 0;
+ #endif
+ #else
+ UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz)
+ #ifdef FORWARD_BASE_PASS
+ if (all(_LightColor0.rgb == 0.0))
+ {
+ attenuation = 1.0;
+ }
+ #endif
+ #endif
+ poiLight.attenuation = attenuation;
+}
+void calculateVertexLightingData(in v2f i)
+{
+ #ifdef VERTEXLIGHT_ON
+ float4 toLightX = unity_4LightPosX0 - i.worldPos.x;
+ float4 toLightY = unity_4LightPosY0 - i.worldPos.y;
+ float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z;
+ float4 lengthSq = 0;
+ lengthSq += toLightX * toLightX;
+ lengthSq += toLightY * toLightY;
+ lengthSq += toLightZ * toLightZ;
+ float4 lightAttenSq = unity_4LightAtten0;
+ float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq);
+ float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25));
+ poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight);
+ poiLight.vDotNL = 0;
+ poiLight.vDotNL += toLightX * poiMesh.normals[1].x;
+ poiLight.vDotNL += toLightY * poiMesh.normals[1].y;
+ poiLight.vDotNL += toLightZ * poiMesh.normals[1].z;
+ float4 corr = rsqrt(lengthSq);
+ poiLight.vDotNL = max(0, poiLight.vDotNL * corr);
+ poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL;
+ for (int index = 0; index < 4; index++)
+ {
+ poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]);
+ float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos;
+ poiLight.vDirection[index] = normalize(vertexToLightSource);
+ poiLight.vColor[index] = unity_LightColor[index].rgb;
+
+ if (float(0) == 1)
+ {
+ float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b));
+ poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1)));
+ }
+ poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir);
+ poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]);
+ poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1);
+ poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index]));
+ poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index]));
+ }
+ #endif
+}
+void calculateLightingData(in v2f i)
+{
+ poiLight.occlusion = 1;
+ #ifdef FORWARD_BASE_PASS
+ float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0);
+ float3 normalLight = _LightColor0.rgb;
+ poiLight.color = magic + normalLight;
+ #else
+ #ifdef FORWARD_ADD_PASS
+ poiLight.color = _LightColor0.rgb;
+
+ if (float(0) == 1)
+ {
+ float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b));
+ poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1)));
+ }
+ #endif
+ #endif
+ #ifdef FORWARD_BASE_PASS
+ poiLight.direction = normalize(_WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz);
+ #else
+ #if defined(POINT) || defined(SPOT)
+ poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz);
+ #else
+ poiLight.direction = _WorldSpaceLightPos0.xyz;
+ #endif
+ #endif
+ poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir);
+ poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir));
+ poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir));
+ poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir);
+ poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir);
+ poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction);
+ poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir);
+ poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir);
+ poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir);
+}
+void initPoiMods()
+{
+ poiMods.audioLink = float4(0, 0, 0, 0);
+ poiMods.globalMasks = float4(0, 0, 0, 0);
+ #ifdef POI_AUDIOLINK
+ initAudioBands();
+ #endif
+}
+void InitializeMeshData(inout v2f i, uint facing)
+{
+ poiMesh.isFrontFace = facing;
+ poiMesh.normals[0] = i.normal;
+ poiMesh.binormal.rgb = i.binormal;
+ poiMesh.tangent = i.tangent;
+ #ifndef OUTLINE
+ if (!poiMesh.isFrontFace)
+ {
+ poiMesh.normals[0] *= -1;
+ poiMesh.tangent *= -1;
+ poiMesh.binormal *= -1;
+ }
+ #endif
+ poiMesh.worldPos = i.worldPos.xyz;
+ poiMesh.localPos = i.localPos.xyz;
+ poiMesh.barycentricCoordinates = i.barycentricCoordinates;
+ poiMesh.uv[0] = i.uv0.xy;
+ poiMesh.uv[1] = i.uv0.zw;
+ poiMesh.uv[2] = i.uv1.xy;
+ poiMesh.uv[3] = i.uv1.zw;
+ initPoiMods();
+ #ifdef POI_UV_DISTORTION
+ poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy);
+ #else
+ poiMesh.uv[4] = poiMesh.uv[0];
+ #endif
+ poiMesh.vertexColor = i.vertexColor;
+ #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)
+ poiMesh.lightmapUV = i.lightmapUV;
+ #endif
+ poiMesh.modelPos = i.modelPos;
+ #ifdef FUR
+ poiMesh.furAlpha = i.furAlpha;
+ #endif
+}
+void initializeCamera(v2f i)
+{
+ poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos.xyz);
+ poiCam.forwardDir = getCameraForward();
+ poiCam.worldPos = _WorldSpaceCameraPos;
+ poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos);
+ poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos);
+ poiCam.grabPos = i.grabPos;
+ poiCam.screenUV = calcScreenUVs(i.grabPos);
+ poiCam.clipPos = i.pos;
+ #if defined(GRAIN)
+ poiCam.worldDirection = i.worldDirection;
+ #endif
+ poiCam.tangentViewDir = normalize(i.tangentViewDir);
+ poiCam.decalTangentViewDir = poiCam.tangentViewDir;
+ poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42));
+}
+void calculateTangentData()
+{
+ poiTData.tangentTransform = float3x3(poiMesh.tangent.xyz, poiMesh.binormal, poiMesh.normals[0]);
+ poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent.xyz, poiMesh.binormal, poiMesh.normals[0]));
+}
+void CalculateReflectionData()
+{
+ #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON)
+ poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]);
+ poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]);
+ #endif
+}
+void calculateNormals(inout half3 detailMask)
+{
+ half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1));
+ poiMesh.tangentSpaceNormal = mainNormal;
+ #ifdef POI_RGBMASK
+ calculateRGBNormals(poiMesh.tangentSpaceNormal);
+ #endif
+ poiMesh.normals[1] = normalize(
+ poiMesh.tangentSpaceNormal.x * poiMesh.tangent.xyz +
+ poiMesh.tangentSpaceNormal.y * poiMesh.binormal +
+ poiMesh.tangentSpaceNormal.z * poiMesh.normals[0]
+ );
+ poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1]));
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc.meta
new file mode 100644
index 00000000..9138e003
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiData.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b475f90115926a840ba03faefc2a71d3
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc
new file mode 100644
index 00000000..d060a9b1
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc
@@ -0,0 +1,5 @@
+#ifndef POI_DEFINES
+ #define POI_DEFINES
+ #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04)
+ #define pi float(3.14159265359)
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc.meta
new file mode 100644
index 00000000..7d1359a2
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDefines.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4a3328f14fa8a2942a8179254195fb18
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc
new file mode 100644
index 00000000..0bd4d71a
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc
@@ -0,0 +1,31 @@
+#ifndef POI_DITHERING
+ #define POI_DITHERING
+ fixed _DitheringEnabled;
+ fixed _DitherGradient;
+ half calcDither(half2 grabPos)
+ {
+ half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8));
+ return dither;
+ }
+ #ifndef POI_SHADOW
+ void applyDithering(inout float4 finalColor)
+ {
+
+ if (float(0))
+ {
+ half dither = calcDither(poiCam.screenUV.xy);
+ finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1));
+ }
+ }
+ #else
+ void applyShadowDithering(inout float alpha, float2 screenUV)
+ {
+
+ if(float(0))
+ {
+ half dither = calcDither(screenUV);
+ alpha = alpha - (dither * (1 - alpha) * float(0.1));
+ }
+ }
+ #endif
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc.meta
new file mode 100644
index 00000000..ab754604
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiDithering.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 98e9fc71fda7f6e4e85f31101acb8243
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc
new file mode 100644
index 00000000..55ddc6d3
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc
@@ -0,0 +1,341 @@
+#ifndef POIFRAG
+#define POIFRAG
+float _MainEmissionStrength;
+float _IgnoreFog;
+half _GIEmissionMultiplier;
+float _IridescenceTime;
+float _AlphaToMask;
+float _ForceOpaque;
+float _commentIfZero_EnableGrabpass;
+float _AlphaPremultiply;
+float2 _MainTexPan;
+float _MainTextureUV;
+float _LightingAdditiveEnable;
+float _PPLightingMultiplier;
+float _PPEmissionMultiplier;
+float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target
+{
+ #ifdef FORWARD_ADD_PASS
+ #if !defined(POI_LIGHTING)
+ return 0;
+ #endif
+
+ if (float(1) == 0)
+ {
+ return 0;
+ }
+ #endif
+ UNITY_SETUP_INSTANCE_ID(i);
+ float4 albedo = 1;
+ float4 finalColor = 1;
+ float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication
+ float3 finalSpecular0 = 0;
+ float3 finalSpecular1 = 0;
+ float3 finalSSS = 0;
+ fixed lightingAlpha = 1;
+ float3 finalEnvironmentalRim = 0;
+ float3 finalEmission = 0;
+ float3 finalLighting = 1;
+ float3 emissionLighting = 1;
+ float3 IridescenceEmission = 0;
+ float3 spawnInEmission = 0;
+ float3 voronoiEmission = 0;
+ float3 matcapEmission = 0;
+ float3 depthTouchEmission = 0;
+ float3 decalEmission = 0;
+ float3 glitterEmission = 0;
+ float3 panosphereEmission = 0;
+ float3 backFaceEmission = 0;
+ float3 dissolveEmission = 0;
+ float3 rimLightEmission = 0;
+ float3 flipbookEmission = 0;
+ float3 textOverlayEmission = 0;
+ float3 videoEmission = 0;
+ float3 pathEmission = 0;
+ /**********************************************************************
+ Initialize the base data that's needed everywhere else in the shader
+ **********************************************************************/
+ calculateAttenuation(i);
+ InitializeMeshData(i, facing);
+ initializeCamera(i);
+ calculateTangentData();
+ #ifdef POI_BLACKLIGHT
+ createBlackLightMask();
+
+ if (float(0))
+ {
+ return float4(blackLightMask.rgb, 1);
+ }
+ #endif
+ #ifdef POI_PARALLAX
+ calculateandApplyParallax();
+ #endif
+ float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0));
+ half3 detailMask = 1;
+ calculateNormals(detailMask);
+ calculateVertexLightingData(i);
+ /**********************************************************************
+ Calculate Light Maps
+ **********************************************************************/
+ #ifdef POI_DATA
+ calculateLightingData(i);
+ #endif
+ #ifdef POI_LIGHTING
+ calculateBasePassLightMaps();
+ #endif
+ /**********************************************************************
+ Calculate Color Data
+ **********************************************************************/
+ initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask);
+ #ifdef POI_PATHING
+ applyPathing(albedo, pathEmission);
+ #endif
+ #ifdef POI_DECAL
+ applyDecals(albedo, decalEmission);
+ #endif
+ #ifdef POI_IRIDESCENCE
+
+ if (float(0) == 0)
+ {
+ applyIridescence(albedo, IridescenceEmission);
+ }
+ #endif
+ #ifdef POI_VORONOI
+ applyVoronoi(albedo, voronoiEmission);
+ #endif
+ #ifdef POI_MSDF
+ ApplyTextOverlayColor(albedo, textOverlayEmission);
+ #endif
+ #ifdef POI_ENVIRONMENTAL_RIM
+ finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo);
+ #endif
+ #if defined(POI_METAL) || defined(POI_CLEARCOAT)
+ CalculateReflectionData();
+ #endif
+ #ifdef POI_DATA
+ distanceFade(albedo);
+ #endif
+ #ifdef POI_RANDOM
+ albedo.a *= i.angleAlpha;
+ #endif
+ #ifdef MATCAP
+ applyMatcap(albedo, matcapEmission);
+ #endif
+ #ifdef PANOSPHERE
+ applyPanosphereColor(albedo, panosphereEmission);
+ #endif
+ #ifdef POI_FLIPBOOK
+ applyFlipbook(albedo, flipbookEmission);
+ #endif
+ #ifdef POI_GLITTER
+ applyGlitter(albedo, glitterEmission);
+ #endif
+ #ifdef POI_RIM
+ applyRimLighting(albedo, rimLightEmission);
+ #endif
+ #ifdef POI_DEPTH_COLOR
+ applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection);
+ #endif
+ #ifdef POI_IRIDESCENCE
+
+ if (float(0) == 1)
+ {
+ applyIridescence(albedo, IridescenceEmission);
+ }
+ #endif
+ #ifdef POI_VIDEO
+ applyScreenEffect(albedo, videoEmission);
+ #endif
+ applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos);
+ /**********************************************************************
+ Handle a few alpha options
+ **********************************************************************/
+
+ if (float(0) == 1)
+ {
+
+ if (float(0) == 0)
+ {
+ applyDithering(albedo);
+ }
+ }
+ albedo.a = max(float(0), albedo.a);
+
+ if (float(0) == 0)
+ {
+ albedo.a = 1;
+ }
+
+ if (float(0) >= 1)
+ {
+ clip(albedo.a - float(0.5));
+ }
+
+ if (float(0))
+ {
+ albedo.rgb *= saturate(albedo.a + 0.0000000001);
+ }
+ /**********************************************************************
+ Lighting Time :)
+ **********************************************************************/
+ #ifdef POI_LIGHTING
+ finalLighting = calculateFinalLighting(albedo.rgb, finalColor);
+ finalLighting = max(finalLighting *= float(1), 0);
+ if (!float(0))
+ {
+ finalLighting = saturate(finalLighting);
+ }
+ #ifdef SUBSURFACE
+ finalSSS = calculateSubsurfaceScattering();
+ #endif
+ #endif
+ float4 finalColorBeforeLighting = albedo;
+ finalColor = finalColorBeforeLighting;
+ #ifdef POI_SPECULAR
+ finalSpecular0 = calculateSpecular(finalColorBeforeLighting);
+ #endif
+ #ifdef POI_PARALLAX
+ calculateAndApplyInternalParallax(finalColor);
+ #endif
+ #ifdef POI_ALPHA_TO_COVERAGE
+ ApplyAlphaToCoverage(finalColor);
+ #endif
+
+ if (float(0) == 1)
+ {
+
+ if (float(0) == 1)
+ {
+ applyDithering(finalColor);
+ }
+ }
+ #ifdef POI_METAL
+ calculateMetallicness();
+ bool probeExists = shouldMetalHappenBeforeLighting();
+
+ if (!probeExists)
+ {
+ ApplyMetallicsFake(finalColor, albedo);
+ }
+ #endif
+ #ifdef POI_LIGHTING
+ emissionLighting = finalLighting;
+ #if defined(FORWARD_ADD_PASS) && defined(POI_METAL)
+ finalLighting *= 1 - metalicMap;
+ #endif
+ applyLighting(finalColor, finalLighting);
+ #endif
+ #ifdef POI_BRDF
+ poiBRDF(finalColor, finalColorBeforeLighting);
+ #endif
+ #ifdef POI_METAL
+
+ if (probeExists)
+ {
+ ApplyMetallics(finalColor, albedo);
+ }
+ #endif
+ finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS;
+ #ifdef FORWARD_BASE_PASS
+ #ifdef POI_CLEARCOAT
+ calculateAndApplyClearCoat(finalColor);
+ #endif
+ #endif
+ finalColor.a = saturate(finalColor.a);
+ /**********************************************************************
+ Add Up all the emission values :D
+ **********************************************************************/
+ finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a;
+ finalEmission += wireframeEmission;
+ finalEmission += IridescenceEmission;
+ finalEmission += spawnInEmission;
+ finalEmission += voronoiEmission;
+ finalEmission += matcapEmission;
+ finalEmission += depthTouchEmission;
+ finalEmission += decalEmission;
+ finalEmission += glitterEmission;
+ finalEmission += panosphereEmission;
+ finalEmission += backFaceEmission;
+ finalEmission += rimLightEmission;
+ finalEmission += flipbookEmission;
+ finalEmission += videoEmission;
+ finalEmission += textOverlayEmission;
+ finalEmission += dissolveEmission;
+ finalEmission += pathEmission;
+ #ifdef POI_EMISSION
+ finalEmission += calculateEmissionNew(finalColorBeforeLighting.rgb, finalColor);
+ #endif
+ finalEmission = max(finalEmission * float(1), 0);
+ #if defined(FORWARD_ADD_PASS)
+ finalEmission *= emissionLighting; // TODO: add in vertex lights
+ #else
+ finalEmission *= max(1, emissionLighting);
+ #endif
+ /**********************************************************************
+ Meta Pass Hype :D
+ **********************************************************************/
+ #ifdef POI_META_PASS
+ UnityMetaInput meta;
+ UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta);
+ meta.Emission = finalEmission * float(1);
+ meta.Albedo = saturate(finalColor.rgb);
+ #ifdef POI_SPECULAR
+ meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a;
+ #else
+ meta.SpecularColor = poiLight.color.rgb * albedo.rgb;
+ #endif
+ return UnityMetaFragment(meta);
+ #endif
+ /**********************************************************************
+ Apply Emission to finalColor
+ **********************************************************************/
+ finalColor.rgb += finalEmission;
+ /**********************************************************************
+ Grabpass features
+ **********************************************************************/
+
+ if (_commentIfZero_EnableGrabpass)
+ {
+ applyGrabEffects(finalColor);
+ }
+ /**********************************************************************
+ Unity Fog
+ **********************************************************************/
+ #ifdef FORWARD_BASE_PASS
+
+ if (float(0) == 0)
+ {
+ UNITY_APPLY_FOG(i.fogCoord, finalColor);
+ }
+ #endif
+ #ifdef FORWARD_ADD_PASS
+ if (float(0) > 0)
+ {
+ finalColor.rgb *= finalColor.a;
+ }
+ #endif
+
+ if (float(0) == 0)
+ {
+ finalColor.a = 1;
+ }
+ #ifdef FORWARD_ADD_PASS
+ #endif
+ #ifdef POI_DEBUG
+ displayDebugInfo(finalColor);
+ #endif
+ #ifdef POI_AUDIOLINK
+
+ if (float(0))
+ {
+ finalColor = poiMods.audioLinkTexture;
+ }
+ #endif
+ #ifdef FORWARD_ADD_PASS
+ #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL)
+ return finalColor + albedo * 0.00001;;
+ #endif
+ #endif
+ return finalColor + mainTexture * 0.00001;
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc.meta
new file mode 100644
index 00000000..5404cd68
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiFrag.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ecc61f9323282214897e96ec325ff404
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc
new file mode 100644
index 00000000..4b901c20
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc
@@ -0,0 +1,101 @@
+#ifndef POI_GRAB
+ #define POI_GRAB
+ float _RefractionIndex;
+ float _RefractionOpacity;
+ float _RefractionChromaticAberattion;
+ float _RefractionEnabled;
+ float _GrabSrcBlend;
+ float _GrabDstBlend;
+ float _GrabPassUseAlpha;
+ float _GrabPassBlendFactor;
+ float _GrabBlurDistance;
+ float _GrabBlurQuality;
+ float _GrabBlurDirections;
+ POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap);
+ float4 blur(float2 uv)
+ {
+ float two_pi = 6.28318530718;
+ float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur
+ float quality = floor(_GrabBlurQuality);
+ float directions = floor(_GrabBlurDirections);
+ float4 color = tex2D(_PoiGrab, uv);
+ float deltaAngle = two_pi / directions;
+ float deltaQuality = 1.0 / quality;
+ for (int i = 0; i < directions; i ++)
+ {
+ for (int j = 0; j < quality; j ++)
+ {
+ float angle = deltaAngle * i + j;
+ float offset = deltaQuality * (j + 1);
+ color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset);
+ }
+ }
+ color /= quality * directions + 1;
+ return color;
+ }
+ inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos)
+ {
+ float4 refractionColor;
+ float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos));
+ float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0)).xyz) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir)));
+ float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x));
+
+ if (_RefractionChromaticAberattion > 0)
+ {
+ float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction));
+ float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g;
+ float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b;
+ refractionColor = float4(redAlpha.r, green, blue, redAlpha.a);
+ }
+ else
+ {
+ float2 refractedGrab = projectedGrabPos + cameraRefraction;
+ refractionColor = tex2D(_PoiGrab, (refractedGrab));
+ }
+ return refractionColor;
+ }
+ void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor)
+ {
+ float3 refraction = 1;
+
+ if(_RefractionEnabled == 1)
+ {
+ refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb;
+ }
+ else
+ {
+ refraction = tex2Dproj(_PoiGrab, poiCam.grabPos).rgb;
+ }
+ float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r;
+
+ if(_GrabPassUseAlpha)
+ {
+ finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a));
+ finalColor.a = 1;
+ }
+ else
+ {
+ finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor);
+ }
+ }
+ float2 calculateGrabPosition()
+ {
+ float4 grabPos = poiCam.grabPos;
+ #if UNITY_UV_STARTS_AT_TOP
+ float scale = -1.0;
+ #else
+ float scale = 1.0;
+ #endif
+ float halfPosW = grabPos.w * 0.5;
+ grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW;
+ #if SHADER_API_D3D9 || SHADER_API_D3D11
+ grabPos.w += 0.00000000001;
+ #endif
+ return(grabPos / grabPos.w).xy;
+ }
+ void applyGrabEffects(inout float4 finalColor)
+ {
+ float2 projectedGrabPos = calculateGrabPosition();
+ calculateRefraction(projectedGrabPos, finalColor);
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc.meta
new file mode 100644
index 00000000..813767e1
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiGrab.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a89877cd55192874dbe79743e3a0d6f4
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc
new file mode 100644
index 00000000..8061f776
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc
@@ -0,0 +1,273 @@
+#ifndef POI_HELPER
+#define POI_HELPER
+#ifndef pi
+ #define pi float(3.14159265359)
+#endif
+float linearSin(float x)
+{
+ return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0);
+}
+float random(float2 p)
+{
+ return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123);
+}
+float2 random2(float2 p)
+{
+ return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453);
+}
+float3 random3(float3 p)
+{
+ return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453);
+}
+float3 mod(float3 x, float y)
+{
+ return x - y * floor(x / y);
+}
+float2 mod(float2 x, float y)
+{
+ return x - y * floor(x / y);
+}
+#define K 0.142857142857
+#define Ko 0.428571428571
+float3 Permutation(float3 x)
+{
+ return mod((34.0 * x + 1.0) * x, 289.0);
+}
+bool IsInMirror()
+{
+ return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f;
+}
+float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax)
+{
+ #if UNITY_SPECCUBE_BOX_PROJECTION
+
+ if (cubemapPosition.w > 0)
+ {
+ float3 factors = ((direction > 0 ? boxMax : boxMin) - position) / direction;
+ float scalar = min(min(factors.x, factors.y), factors.z);
+ direction = direction * scalar + (position - cubemapPosition.xyz);
+ }
+ #endif
+ return direction;
+}
+float3 getCameraPosition()
+{
+ #ifdef USING_STEREO_MATRICES
+ return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5);
+ #endif
+ return _WorldSpaceCameraPos;
+}
+float3 getCameraForward()
+{
+ #if UNITY_SINGLE_PASS_STEREO
+ float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1));
+ float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1));
+ #else
+ float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)).xyz;
+ float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)).xyz;
+ #endif
+ return normalize(p2 - p1);
+}
+float3 grayscale_vector_node()
+{
+ return float3(0, 0.3823529, 0.01845836);
+}
+float3 grayscale_for_light()
+{
+ return float3(0.298912, 0.586611, 0.114478);
+}
+float remap(float x, float minOld, float maxOld, float minNew, float maxNew)
+{
+ return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld);
+}
+float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew)
+{
+ return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld);
+}
+float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew)
+{
+ return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld);
+}
+float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew)
+{
+ return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld);
+}
+float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew)
+{
+ return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew);
+}
+float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew)
+{
+ return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew);
+}
+float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew)
+{
+ return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew);
+}
+float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew)
+{
+ return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew);
+}
+float poiMax(float2 i)
+{
+ return max(i.x, i.y);
+}
+float poiMax(float3 i)
+{
+ return max(max(i.x, i.y), i.z);
+}
+float poiMax(float4 i)
+{
+ return max(max(max(i.x, i.y), i.z), i.w);
+}
+float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis)
+{
+ axis = normalize(axis);
+ float s = sin(angle);
+ float c = cos(angle);
+ float oc = 1.0 - c;
+ return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0,
+ oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0,
+ oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0,
+ 0.0, 0.0, 0.0, 1.0);
+}
+float4x4 poiRotationMatrixFromAngles(float x, float y, float z)
+{
+ float angleX = radians(x);
+ float c = cos(angleX);
+ float s = sin(angleX);
+ float4x4 rotateXMatrix = float4x4(1, 0, 0, 0,
+ 0, c, -s, 0,
+ 0, s, c, 0,
+ 0, 0, 0, 1);
+ float angleY = radians(y);
+ c = cos(angleY);
+ s = sin(angleY);
+ float4x4 rotateYMatrix = float4x4(c, 0, s, 0,
+ 0, 1, 0, 0,
+ - s, 0, c, 0,
+ 0, 0, 0, 1);
+ float angleZ = radians(z);
+ c = cos(angleZ);
+ s = sin(angleZ);
+ float4x4 rotateZMatrix = float4x4(c, -s, 0, 0,
+ s, c, 0, 0,
+ 0, 0, 1, 0,
+ 0, 0, 0, 1);
+ return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix);
+}
+float4x4 poiRotationMatrixFromAngles(float3 angles)
+{
+ float angleX = radians(angles.x);
+ float c = cos(angleX);
+ float s = sin(angleX);
+ float4x4 rotateXMatrix = float4x4(1, 0, 0, 0,
+ 0, c, -s, 0,
+ 0, s, c, 0,
+ 0, 0, 0, 1);
+ float angleY = radians(angles.y);
+ c = cos(angleY);
+ s = sin(angleY);
+ float4x4 rotateYMatrix = float4x4(c, 0, s, 0,
+ 0, 1, 0, 0,
+ - s, 0, c, 0,
+ 0, 0, 0, 1);
+ float angleZ = radians(angles.z);
+ c = cos(angleZ);
+ s = sin(angleZ);
+ float4x4 rotateZMatrix = float4x4(c, -s, 0, 0,
+ s, c, 0, 0,
+ 0, 0, 1, 0,
+ 0, 0, 0, 1);
+ return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix);
+}
+#endif
+half2 calcScreenUVs(half4 grabPos)
+{
+ half2 uv = grabPos.xy / (grabPos.w + 0.0000000001);
+ #if UNITY_SINGLE_PASS_STEREO
+ uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y);
+ #else
+ uv.xy *= _ScreenParams.xy;
+ #endif
+ return uv;
+}
+float inverseLerp(float A, float B, float T)
+{
+ return(T - A) / (B - A);
+}
+float inverseLerp2(float2 a, float2 b, float2 value)
+{
+ float2 AB = b - a;
+ float2 AV = value - a;
+ return dot(AV, AB) / dot(AB, AB);
+}
+float inverseLerp3(float3 a, float3 b, float3 value)
+{
+ float3 AB = b - a;
+ float3 AV = value - a;
+ return dot(AV, AB) / dot(AB, AB);
+}
+float inverseLerp4(float4 a, float4 b, float4 value)
+{
+ float4 AB = b - a;
+ float4 AV = value - a;
+ return dot(AV, AB) / dot(AB, AB);
+}
+inline half Dither8x8Bayer(int x, int y)
+{
+ const half dither[ 64 ] = {
+ 1, 49, 13, 61, 4, 52, 16, 64,
+ 33, 17, 45, 29, 36, 20, 48, 32,
+ 9, 57, 5, 53, 12, 60, 8, 56,
+ 41, 25, 37, 21, 44, 28, 40, 24,
+ 3, 51, 15, 63, 2, 50, 14, 62,
+ 35, 19, 47, 31, 34, 18, 46, 30,
+ 11, 59, 7, 55, 10, 58, 6, 54,
+ 43, 27, 39, 23, 42, 26, 38, 22
+ };
+ int r = y * 8 + x;
+ return dither[r] / 64;
+}
+float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv)
+{
+ float theta = radians(rotation);
+ scale = 1 - scale;
+ float cs = cos(theta);
+ float sn = sin(theta);
+ float2 centerPoint = offset + .5;
+ uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y);
+ return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1));
+}
+bool isVR()
+{
+ #if UNITY_SINGLE_PASS_STEREO
+ return true;
+ #else
+ return false;
+ #endif
+}
+bool isVRHandCamera()
+{
+ return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005;
+}
+bool isDesktop()
+{
+ return !isVRHandCamera();
+}
+bool isVRHandCameraPreview()
+{
+ return isVRHandCamera() && _ScreenParams.y == 720;
+}
+bool isVRHandCameraPicture()
+{
+ return isVRHandCamera() && _ScreenParams.y == 1080;
+}
+bool isPanorama()
+{
+ return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025;
+}
+float calculateluminance(float3 color)
+{
+ return color.r * 0.299 + color.g * 0.587 + color.b * 0.114;
+}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc.meta
new file mode 100644
index 00000000..091af7c0
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiHelpers.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 77131cb2519d4854b8578b0b10a7e12a
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc
new file mode 100644
index 00000000..8deb30d4
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc
@@ -0,0 +1,732 @@
+#ifndef POI_LIGHTING
+#define POI_LIGHTING
+float _LightingRampType;
+float _LightingIgnoreAmbientColor;
+float _UseShadowTexture;
+float _LightingEnableAO;
+float _LightingDetailShadowsEnabled;
+float _LightingOnlyUnityShadows;
+float _LightingMode;
+float _ForceLightDirection;
+float _ShadowStrength;
+float _OutlineShadowStrength;
+float _ShadowOffset;
+float3 _LightDirection;
+float _ForceShadowStrength;
+float _CastedShadowSmoothing;
+float _AttenuationMultiplier;
+float _EnableLighting;
+float _LightingControlledUseLightColor;
+fixed _LightingStandardSmoothness;
+fixed _LightingStandardControlsToon;
+fixed _LightingMinLightBrightness;
+float _LightingUseShadowRamp;
+float _LightingMinShadowBrightnessRatio;
+fixed _LightingMonochromatic;
+fixed _LightingGradientStart;
+fixed _LightingGradientEnd;
+float3 _LightingShadowColor;
+float _AOStrength;
+fixed _LightingDetailStrength;
+fixed _LightingAdditiveDetailStrength;
+fixed _LightingNoIndirectMultiplier;
+fixed _LightingNoIndirectThreshold;
+float _LightingUncapped;
+float _LightingDirectColorMode;
+float _LightingIndirectColorMode;
+float _LightingAdditiveType;
+fixed _LightingAdditiveGradientStart;
+fixed _LightingAdditiveGradientEnd;
+fixed _LightingAdditivePassthrough;
+float _LightingDirectAdjustment;
+float _LightingIndirect;
+float _LightingEnableHSL;
+float _LightingShadowHue;
+float _LightingShadowSaturation;
+float _LightingShadowLightness;
+float _LightingHSLIntensity;
+float4 _1st_ShadeColor;
+float _Use_BaseAs1st;
+float4 _2nd_ShadeColor;
+float _Use_1stAs2nd;
+float _BaseColor_Step;
+float _BaseShade_Feather;
+float _ShadeColor_Step;
+float _1st2nd_Shades_Feather;
+float _Use_1stShadeMapAlpha_As_ShadowMask;
+float _1stShadeMapMask_Inverse;
+float _Tweak_1stShadingGradeMapLevel;
+float _Use_2ndShadeMapAlpha_As_ShadowMask;
+float _2ndShadeMapMask_Inverse;
+float _Tweak_2ndShadingGradeMapLevel;
+float _SkinScatteringProperties;
+float _SssWeight;
+float _SssMaskCutoff ;
+float _SssBias;
+float _SssScale;
+float _SssBumpBlur;
+float4 _SssTransmissionAbsorption;
+float4 _SssColorBleedAoWeights;
+half4 shadowStrength;
+sampler2D _SkinLUT;
+UNITY_DECLARE_TEX2D(_ToonRamp);
+POI_TEXTURE_NOSAMPLER(_1st_ShadeMap);
+POI_TEXTURE_NOSAMPLER(_2nd_ShadeMap);
+POI_TEXTURE_NOSAMPLER(_LightingDetailShadows);
+POI_TEXTURE_NOSAMPLER(_LightingAOTex);
+POI_TEXTURE_NOSAMPLER(_LightingShadowMask);
+float3 directLighting;
+float3 indirectLighting;
+float _LightingWrappedWrap;
+float _LightingWrappedNormalization;
+float RTWrapFunc(in float dt, in float w, in float norm)
+{
+ float cw = saturate(w);
+ float o = (dt + cw) / ((1.0 + cw) * (1.0 + cw * norm));
+ float flt = 1.0 - 0.85 * norm;
+ if (w > 1.0)
+ {
+ o = lerp(o, flt, w - 1.0);
+ }
+ return o;
+}
+float3 GreenWrapSH(float fA) // Greens unoptimized and non-normalized
+{
+ float fAs = saturate(fA);
+ float4 t = float4(fA + 1, fAs - 1, fA - 2, fAs + 1); // DJL edit: allow wrapping to L0-only at w=2
+ return float3(t.x, -t.z * t.x / 3, 0.25 * t.y * t.y * t.w);
+}
+float3 GreenWrapSHOpt(float fW) // optimised and normalized https://blog.selfshadow.com/2012/01/07/righting-wrap-part-2/
+{
+ const float4 t0 = float4(0.0, 1.0 / 4.0, -1.0 / 3.0, -1.0 / 2.0);
+ const float4 t1 = float4(1.0, 2.0 / 3.0, 1.0 / 4.0, 0.0);
+ float3 fWs = float3(fW, fW, saturate(fW)); // DJL edit: allow wrapping to L0-only at w=2
+ float3 r;
+ r.xyz = t0.xxy * fWs + t0.xzw;
+ r.xyz = r.xyz * fWs + t1.xyz;
+ return r;
+}
+float3 ShadeSH9_wrapped(float3 normal, float wrap)
+{
+ float3 x0, x1, x2;
+ float3 conv = lerp(GreenWrapSH(wrap), GreenWrapSHOpt(wrap), float(0)); // Should try optimizing this...
+ conv *= float3(1, 1.5, 4); // Undo pre-applied cosine convolution by using the inverse
+ x0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w);
+ float3 L2_0 = float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / - 3.0;
+ x0 -= L2_0;
+ x1.r = dot(unity_SHAr.xyz, normal);
+ x1.g = dot(unity_SHAg.xyz, normal);
+ x1.b = dot(unity_SHAb.xyz, normal);
+ float4 vB = normal.xyzz * normal.yzzx;
+ x2.r = dot(unity_SHBr, vB);
+ x2.g = dot(unity_SHBg, vB);
+ x2.b = dot(unity_SHBb, vB);
+ float vC = normal.x * normal.x - normal.y * normal.y;
+ x2 += unity_SHC.rgb * vC;
+ x2 += L2_0;
+ return x0 * conv.x + x1 * conv.y + x2 * conv.z;
+}
+float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n)
+{
+ float R0 = max(0, L0);
+ float3 R1 = 0.5f * L1;
+ float lenR1 = length(R1);
+ float q = dot(normalize(R1), n) * 0.5 + 0.5;
+ q = saturate(q); // Thanks to ScruffyRuffles for the bug identity.
+ float p = 1.0f + 2.0f * lenR1 / R0;
+ float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0);
+ return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p));
+}
+half3 BetterSH9(half4 normal)
+{
+ float3 indirect;
+ float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0;
+ indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal.xyz);
+ indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal.xyz);
+ indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal.xyz);
+ indirect = max(0, indirect);
+ indirect += SHEvalLinearL2(normal);
+ return indirect;
+}
+float3 BetterSH9(float3 normal)
+{
+ return BetterSH9(float4(normal, 1));
+}
+UnityLight CreateLight(float3 normal, fixed detailShadowMap)
+{
+ UnityLight light;
+ light.dir = poiLight.direction;
+ light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap);
+ light.ndotl = DotClamped(normal, poiLight.direction);
+ return light;
+}
+float FadeShadows(float attenuation)
+{
+ #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS
+ #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS
+ attenuation = lerp(1, poiLight.attenuation, float(0));
+ #endif
+ float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz);
+ float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ);
+ float shadowFade = UnityComputeShadowFade(shadowFadeDistance);
+ float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos);
+ attenuation = UnityMixRealtimeAndBakedShadows(
+ attenuation, bakedAttenuation, shadowFade
+ );
+ #endif
+ return attenuation;
+}
+void ApplySubtractiveLighting(inout UnityIndirect indirectLight)
+{
+ #if SUBTRACTIVE_LIGHTING
+ poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0)));
+ float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz));
+ float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb;
+ float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate;
+ subtractedLight = max(subtractedLight, unity_ShadowColor.rgb);
+ subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x);
+ indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse);
+ #endif
+}
+float3 weightedBlend(float3 layer1, float3 layer2, float2 weights)
+{
+ return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y);
+}
+UnityIndirect CreateIndirectLight(float3 normal)
+{
+ UnityIndirect indirectLight;
+ indirectLight.diffuse = 0;
+ indirectLight.specular = 0;
+ #if defined(FORWARD_BASE_PASS)
+ #if defined(LIGHTMAP_ON)
+ indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy));
+ #if defined(DIRLIGHTMAP_COMBINED)
+ float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER(
+ unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy
+ );
+ indirectLight.diffuse = DecodeDirectionalLightmap(
+ indirectLight.diffuse, lightmapDirection, normal
+ );
+ #endif
+ ApplySubtractiveLighting(indirectLight);
+ #endif
+ #if defined(DYNAMICLIGHTMAP_ON)
+ float3 dynamicLightDiffuse = DecodeRealtimeLightmap(
+ UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw)
+ );
+ #if defined(DIRLIGHTMAP_COMBINED)
+ float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER(
+ unity_DynamicDirectionality, unity_DynamicLightmap,
+ poiMesh.lightmapUV.zw
+ );
+ indirectLight.diffuse += DecodeDirectionalLightmap(
+ dynamicLightDiffuse, dynamicLightmapDirection, normal
+ );
+ #else
+ indirectLight.diffuse += dynamicLightDiffuse;
+ #endif
+ #endif
+ #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON)
+ #if UNITY_LIGHT_PROBE_PROXY_VOLUME
+ if (unity_ProbeVolumeParams.x == 1)
+ {
+ indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume(
+ float4(normal, 1), poiMesh.worldPos
+ );
+ indirectLight.diffuse = max(0, indirectLight.diffuse);
+ #if defined(UNITY_COLORSPACE_GAMMA)
+ indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse);
+ #endif
+ }
+ else
+ {
+ indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1)));
+ }
+ #else
+ indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1)));
+ #endif
+ #endif
+ float3 reflectionDir = reflect(-poiCam.viewDir, normal);
+ Unity_GlossyEnvironmentData envData;
+ envData.roughness = 1 - float(0);
+ envData.reflUVW = BoxProjection(
+ reflectionDir, poiMesh.worldPos.xyz,
+ unity_SpecCube0_ProbePosition,
+ unity_SpecCube0_BoxMin.xyz, unity_SpecCube0_BoxMax.xyz
+ );
+ float3 probe0 = Unity_GlossyEnvironment(
+ UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData
+ );
+ envData.reflUVW = BoxProjection(
+ reflectionDir, poiMesh.worldPos.xyz,
+ unity_SpecCube1_ProbePosition,
+ unity_SpecCube1_BoxMin.xyz, unity_SpecCube1_BoxMax.xyz
+ );
+ #if UNITY_SPECCUBE_BLENDING
+ float interpolator = unity_SpecCube0_BoxMin.w;
+
+ if (interpolator < 0.99999)
+ {
+ float3 probe1 = Unity_GlossyEnvironment(
+ UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0),
+ unity_SpecCube0_HDR, envData
+ );
+ indirectLight.specular = lerp(probe1, probe0, interpolator);
+ }
+ else
+ {
+ indirectLight.specular = probe0;
+ }
+ #else
+ indirectLight.specular = probe0;
+ #endif
+ float occlusion = 1;
+
+ if (float(0))
+ {
+ occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r, float(1));
+ }
+ indirectLight.diffuse *= occlusion;
+ indirectLight.diffuse = max(indirectLight.diffuse, float(0));
+ indirectLight.specular *= occlusion;
+ #endif
+ return indirectLight;
+}
+half PoiDiffuse(half NdotV, half NdotL, half LdotH)
+{
+ half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5);
+ half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL));
+ half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV));
+ return lightScatter * viewScatter;
+}
+float3 ShadeSH9Indirect()
+{
+ return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0));
+}
+float3 ShadeSH9Direct()
+{
+ return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0));
+}
+float3 ShadeSH9Normal(float3 normalDirection)
+{
+ return ShadeSH9(half4(normalDirection, 1.0));
+}
+half3 GetSHLength()
+{
+ half3 x, x1;
+ x.r = length(unity_SHAr);
+ x.g = length(unity_SHAg);
+ x.b = length(unity_SHAb);
+ x1.r = length(unity_SHBr);
+ x1.g = length(unity_SHBg);
+ x1.b = length(unity_SHBb);
+ return x + x1;
+}
+half3 GetSHDirectionL1()
+{
+ float3 grayscale = float3(.33333, .33333, .33333);
+ half3 r = Unity_SafeNormalize(half3(unity_SHAr.x, unity_SHAr.y, unity_SHAr.z));
+ half3 g = Unity_SafeNormalize(half3(unity_SHAg.x, unity_SHAg.y, unity_SHAg.z));
+ half3 b = Unity_SafeNormalize(half3(unity_SHAb.x, unity_SHAb.y, unity_SHAb.z));
+ return Unity_SafeNormalize(grayscale.r * r + grayscale.g * g + grayscale.b * b);
+}
+float3 GetSHDirectionL1_()
+{
+ return Unity_SafeNormalize((unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz));
+}
+half3 GetSHMaxL1()
+{
+ float3 maxDirection = GetSHDirectionL1();
+ return ShadeSH9_wrapped(maxDirection, 0);
+}
+float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap)
+{
+ return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])).xyz;
+}
+void calculateBasePassLightMaps()
+{
+ #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS)
+ float AOMap = 1;
+ float AOStrength = 0;
+ float3 lightColor = poiLight.color;
+ bool lightExists = false;
+ if (any(_LightColor0.rgb >= 0.002))
+ {
+ lightExists = true;
+ }
+ #ifndef OUTLINE
+
+ if (float(0))
+ {
+ AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r;
+ AOStrength = float(1);
+ poiLight.occlusion = lerp(1, AOMap, AOStrength);
+ }
+ #ifdef FORWARD_BASE_PASS
+ if (lightExists)
+ {
+ lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1));
+ }
+ else
+ {
+ lightColor = BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb));
+ }
+ #endif
+ #endif
+ float3 grayscale_vector = float3(.33333, .33333, .33333);
+ float3 ShadeSH9Plus = GetSHLength();
+ float3 ShadeSH9Minus = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0;
+ shadowStrength = 1;
+ #ifndef OUTLINE
+ shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0.156);
+ #else
+ shadowStrength = float(1);
+ #endif
+ float bw_lightColor = dot(lightColor, grayscale_vector);
+ float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector));
+ float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector);
+ float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector);
+ float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting);
+ fixed detailShadow = 1;
+
+ if (float(0))
+ {
+ detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r;
+ }
+
+ if (float(0))
+ {
+ poiLight.lightMap = poiLight.attenuation;
+ }
+ else
+ {
+ poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting);
+ }
+ poiLight.lightMap *= detailShadow;
+ indirectLighting = 0;
+ directLighting = 0;
+
+ if (float(0) == 1)
+ {
+ indirectLighting = BetterSH9(float4(poiMesh.normals[1], 1));
+ }
+ else
+ {
+ indirectLighting = ShadeSH9Minus;
+ }
+ poiLight.directLighting = lightColor;
+ poiLight.indirectLighting = indirectLighting;
+
+ if (float(0) == 0)
+ {
+ float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0);
+ float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1));
+ float magiLumi = calculateluminance(magic);
+ float normaLumi = calculateluminance(normalLight);
+ float maginormalumi = magiLumi + normaLumi;
+ float magiratio = magiLumi / maginormalumi;
+ float normaRatio = normaLumi / maginormalumi;
+ float target = calculateluminance(magic * magiratio + normalLight * normaRatio);
+ float3 properLightColor = magic * poiLight.occlusion + normalLight;
+ float properLuminance = calculateluminance(magic + normalLight);
+ directLighting = properLightColor * max(0.0001, (target / properLuminance));
+ }
+ else
+ {
+ if (lightExists)
+ {
+ directLighting = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)) * poiLight.occlusion;
+ }
+ else
+ {
+ directLighting = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0);
+ }
+ }
+
+ if (!float(0))
+ {
+ float directluminance = calculateluminance(directLighting);
+ float indirectluminance = calculateluminance(indirectLighting);
+ directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1)));
+ indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1)));
+ }
+ directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0));
+ indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0));
+ if (max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0)
+ {
+ indirectLighting = directLighting * _LightingNoIndirectMultiplier;
+ }
+
+ if (float(0))
+ {
+ float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1);
+ if (directluminance > 0)
+ {
+ indirectLighting = max(0.001, indirectLighting);
+ }
+ float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1);
+ float targetluminance = directluminance * float(0);
+ if (indirectluminance < targetluminance)
+ {
+ indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance);
+ }
+ }
+ poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap);
+ poiLight.finalLighting = directLighting;
+ indirectLighting = max(indirectLighting,0);
+ directLighting = max(directLighting,0);
+ switch(float(0))
+ {
+ case 0: // Ramp Texture
+ {
+ poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)).rgb, shadowStrength.r);
+
+ if (float(0))
+ {
+ poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * poiLight.occlusion, directLighting, poiLight.rampedLightMap);
+ }
+ else
+ {
+ poiLight.finalLighting = lerp(indirectLighting * poiLight.occlusion, directLighting, poiLight.rampedLightMap);
+ }
+ }
+ break;
+ case 1: // Math Gradient
+ {
+ poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap));
+ float3 shadowColor = float4(1,1,1,1);
+
+ if (_UseShadowTexture)
+ {
+ shadowColor = 1;
+ }
+
+ if (float(0))
+ {
+ poiLight.finalLighting = lerp((directLighting * shadowColor * poiLight.occlusion), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(0.156)));
+ }
+ else
+ {
+ poiLight.finalLighting = lerp((indirectLighting * shadowColor * poiLight.occlusion), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(0.156)));
+ }
+ }
+ break;
+ case 2:
+ {
+ poiLight.rampedLightMap = saturate(1 - smoothstep(0, .5, 1 - poiLight.lightMap));
+ poiLight.finalLighting = directLighting;
+ }
+ break;
+ }
+ if (float(0) == 2) // Wrapped
+ {
+ float wrap = float(0);
+ float3 directcolor = (_LightColor0.rgb) * saturate(RTWrapFunc(poiLight.nDotL, wrap, float(0)));
+ float directatten = lerp(1, poiLight.attenuation, float(0));
+ uint normalsindex = float(0) > 0 ? 1: 0;
+ float3 envlight = ShadeSH9_wrapped(poiMesh.normals[normalsindex], wrap);
+ envlight *= poiLight.occlusion;
+ poiLight.directLighting = directcolor * detailShadow * directatten;
+ poiLight.indirectLighting = envlight;
+ float3 ShadeSH9Plus_2 = GetSHMaxL1();
+ float bw_topDirectLighting_2 = dot(_LightColor0.rgb, grayscale_vector);
+ float bw_directLighting = dot(poiLight.directLighting, grayscale_vector);
+ float bw_indirectLighting = dot(poiLight.indirectLighting, grayscale_vector);
+ float bw_topIndirectLighting = dot(ShadeSH9Plus_2, grayscale_vector);
+ poiLight.lightMap = smoothstep(0, bw_topIndirectLighting + bw_topDirectLighting_2, bw_indirectLighting + bw_directLighting);
+ poiLight.rampedLightMap = 1;
+
+ if (float(0) == 0) // Ramp Texture
+ {
+ poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)).rgb, shadowStrength.r);
+ }
+ else if (float(0) == 1) // Math Gradient
+ {
+ poiLight.rampedLightMap = lerp(float4(1,1,1,1) * lerp(poiLight.indirectLighting, 1, float(0)), float3(1, 1, 1), saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)));
+ poiLight.rampedLightMap = lerp(float3(1, 1, 1), poiLight.rampedLightMap, shadowStrength.r);
+ }
+ poiLight.finalLighting = (poiLight.indirectLighting + poiLight.directLighting) * saturate(poiLight.rampedLightMap + 1 - float(0.156));
+ }
+ if (!float(0))
+ {
+ poiLight.finalLighting = saturate(poiLight.finalLighting);
+ }
+ #endif
+ }
+ float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL, half correctedDotNL)
+ {
+ fixed detailShadow = 1;
+
+ if (float(0))
+ {
+ detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r;
+ }
+
+ if (float(1) == 0)
+ {
+ return lightColor * attenuationDotNL * detailShadow; // Realistic
+ }
+ else if (float(1) == 1) // Toon
+ {
+ return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow;
+ }
+ else //if(float(1) == 2) // Wrapped
+ {
+ float uv = saturate(RTWrapFunc(-dotNL, float(0), float(0))) * detailShadow;
+ poiLight.rampedLightMap = 1;
+ if (float(0) == 1) // Math Gradient
+ poiLight.rampedLightMap = lerp(float4(1,1,1,1), float3(1, 1, 1), saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - uv)));
+ return lightColor * poiLight.rampedLightMap * saturate(attenuation * uv);
+ }
+ }
+ void applyShadeMaps(inout float4 albedo)
+ {
+
+ if (float(0) == 2)
+ {
+ float3 baseColor = albedo.rgb;
+ float MainColorFeatherStep = float(0.5) - float(0.0001);
+ float firstColorFeatherStep = float(0) - float(0.0001);
+ #if defined(PROP_1ST_SHADEMAP) || !defined(OPTIMIZER_ENABLED)
+ float4 firstShadeMap = POI2D_SAMPLER_PAN(_1st_ShadeMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0));
+ #else
+ float4 firstShadeMap = float4(1, 1, 1, 1);
+ #endif
+ firstShadeMap = lerp(firstShadeMap, albedo, float(0));
+ #if defined(PROP_2ND_SHADEMAP) || !defined(OPTIMIZER_ENABLED)
+ float4 secondShadeMap = POI2D_SAMPLER_PAN(_2nd_ShadeMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0));
+ #else
+ float4 secondShadeMap = float4(1, 1, 1, 1);
+ #endif
+ secondShadeMap = lerp(secondShadeMap, firstShadeMap, float(0));
+ firstShadeMap.rgb *= float4(1,1,1,1).rgb; //* lighColor
+ secondShadeMap.rgb *= float4(1,1,1,1).rgb; //* LightColor;
+ float shadowMask = 1;
+ shadowMask *= float(0) ?(float(0) ?(1.0 - firstShadeMap.a): firstShadeMap.a): 1;
+ shadowMask *= float(0) ?(float(0) ?(1.0 - secondShadeMap.a): secondShadeMap.a): 1;
+ float mainShadowMask = saturate(1 - ((poiLight.lightMap) - MainColorFeatherStep) / (float(0.5) - MainColorFeatherStep) * (shadowMask));
+ float firstSecondShadowMask = saturate(1 - ((poiLight.lightMap) - firstColorFeatherStep) / (float(0) - firstColorFeatherStep) * (shadowMask));
+ #if defined(PROP_LIGHTINGSHADOWMASK) || !defined(OPTIMIZER_ENABLED)
+ float removeShadow = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r;
+ #else
+ float removeShadow = 1;
+ #endif
+ mainShadowMask *= removeShadow;
+ firstSecondShadowMask *= removeShadow;
+ albedo.rgb = lerp(albedo.rgb, lerp(firstShadeMap.rgb, secondShadeMap.rgb, firstSecondShadowMask), mainShadowMask);
+ }
+ }
+ float3 calculateFinalLighting(inout float3 albedo, float4 finalColor)
+ {
+ float3 finalLighting = 1;
+ #ifdef FORWARD_ADD_PASS
+ fixed detailShadow = 1;
+
+ if (float(0))
+ {
+ detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r;
+ }
+
+ if (float(1) == 0) // Realistic
+ {
+ finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow * poiLight.additiveShadow;
+ }
+ else if (float(1) == 1) // Toon
+ {
+ #if defined(POINT) || defined(SPOT)
+ finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow;
+ #else
+ finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow;
+ #endif
+ }
+ else //if(float(1) == 2) // Wrapped
+ {
+ float uv = saturate(RTWrapFunc(poiLight.nDotL, float(0), float(0))) * detailShadow;
+ poiLight.rampedLightMap = 1;
+
+ if (float(0) == 1) // Math Gradient
+ poiLight.rampedLightMap = lerp(float4(1,1,1,1), float3(1, 1, 1), saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - uv)));
+ float shadowatten = max(poiLight.additiveShadow, float(0.5));
+ return poiLight.color * poiLight.rampedLightMap * saturate(poiLight.attenuation * uv * shadowatten);
+ }
+ #endif
+ #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS)
+ #ifdef VERTEXLIGHT_ON
+ poiLight.vFinalLighting = 0;
+ for (int index = 0; index < 4; index++)
+ {
+ poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vDotNL[index], poiLight.vCorrectedDotNL[index]);
+ }
+ #endif
+ switch(float(0))
+ {
+ case 0: // Toon Lighting
+ case 2: // or wrapped
+ {
+
+ if (float(0))
+ {
+ float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap);
+ albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1));
+ }
+
+ if (float(0) > 0)
+ {
+ poiLight.finalLighting = max(0.001, poiLight.finalLighting);
+ float finalluminance = calculateluminance(poiLight.finalLighting);
+ finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0))));
+ poiLight.finalLighting = finalLighting;
+ }
+ else
+ {
+ finalLighting = poiLight.finalLighting;
+ }
+ }
+ break;
+ case 1: // realistic
+ {
+ fixed detailShadow = 1;
+
+ if (float(0))
+ {
+ detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r;
+ }
+ float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb;
+ finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0));
+ }
+ break;
+ case 3: // Skin
+ {
+ float subsurfaceShadowWeight = 0.0h;
+ float3 ambientNormalWorld = poiMesh.normals[1];//aTangentToWorld(s, s.blurredNormalTangent);
+ float subsurface = 1;
+ float skinScatteringMask = _SssWeight * saturate(1.0h / _SssMaskCutoff * subsurface);
+ float skinScattering = saturate(subsurface * float(1) * 2 + _SssBias);
+ half3 absorption = exp((1.0h - subsurface) * float4(-8,-40,-64,0).rgb);
+ absorption *= saturate(finalColor.rgb * unity_ColorSpaceDouble.rgb);
+ ambientNormalWorld = normalize(lerp(poiMesh.normals[1], ambientNormalWorld, float(0.7)));
+ float ndlBlur = dot(poiMesh.normals[1], poiLight.direction) * 0.5h + 0.5h;
+ float lumi = dot(poiLight.color, half3(0.2126h, 0.7152h, 0.0722h));
+ float4 sssLookupUv = float4(ndlBlur, skinScattering * lumi, 0.0f, 0.0f);
+ half3 sss = poiLight.lightMap * poiLight.attenuation * tex2Dlod(_SkinLUT, sssLookupUv).rgb;
+ finalLighting = min(lerp(indirectLighting * float4(1,1,1,1), float4(1,1,1,1), float(0)) + (sss * directLighting), directLighting);
+ }
+ break;
+ case 4:
+ {
+ finalLighting = directLighting;
+ }
+ break;
+ }
+ #endif
+ return finalLighting;
+ }
+ void applyLighting(inout float4 finalColor, float3 finalLighting)
+ {
+ #ifdef VERTEXLIGHT_ON
+ finalColor.rgb *= finalLighting + poiLight.vFinalLighting;
+ #else
+ finalColor.rgb *= finalLighting;
+ #endif
+ }
+ #endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc.meta
new file mode 100644
index 00000000..7fc8d126
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiLighting.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 44f8f39ab64cf674f886cf4cd24b7ae7
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc
new file mode 100644
index 00000000..3c6dd448
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc
@@ -0,0 +1,34 @@
+#ifndef POI_MACROS
+ #define POI_MACROS
+ #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV
+ #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV
+ #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale
+ #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan))
+ #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex)))
+ #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan))
+ #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex)))
+ #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex)))
+ #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan))
+ #ifdef POINT
+ # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \
+ unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \
+ fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \
+ fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r;
+ #endif
+ #ifdef SPOT
+ #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS)
+ #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1))
+ #else
+ #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord
+ #endif
+ # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \
+ DECLARE_LIGHT_COORD(input, worldPos); \
+ fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \
+ fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz);
+ #endif
+ #if defined(UNITY_COMPILER_HLSL)
+ #define PoiInitStruct(type,name) name = (type)0;
+ #else
+ #define PoiInitStruct(type,name)
+ #endif
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc.meta
new file mode 100644
index 00000000..68e9f365
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMacros.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cf75e14d02a40384681b0226404271c9
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc
new file mode 100644
index 00000000..9e0cb84e
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc
@@ -0,0 +1,115 @@
+#ifndef POI_MAINTEXTURE
+#define POI_MAINTEXTURE
+#if defined(PROP_CLIPPINGMASK) || !defined(OPTIMIZER_ENABLED)
+ POI_TEXTURE_NOSAMPLER(_ClippingMask);
+#endif
+#if defined(PROP_MAINFADETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ POI_TEXTURE_NOSAMPLER(_MainFadeTexture);
+#endif
+float _Inverse_Clipping;
+float4 _Color;
+float _MainVertexColoring;
+float _MainVertexColoringLinearSpace;
+float _MainUseVertexColorAlpha;
+float _Saturation;
+float _MainDistanceFadeMin;
+float _MainDistanceFadeMax;
+half _MainMinAlpha;
+half _MainMaxAlpha;
+float _MainHueShift;
+float _MainFadeType;
+float alphaMask;
+half3 diffColor;
+#include "/CGI_PoiBackFace.cginc"
+float3 wireframeEmission;
+inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo)
+{
+ half4 specGloss = 0;
+ half3 specColor = specGloss.rgb;
+ half smoothness = specGloss.a;
+ half oneMinusReflectivity;
+ diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo.rgb, specColor, /*out*/ oneMinusReflectivity);
+ FragmentCommonData o = (FragmentCommonData)0;
+ o.diffColor = diffColor;
+ o.specColor = specColor;
+ o.oneMinusReflectivity = oneMinusReflectivity;
+ o.smoothness = smoothness;
+ return o;
+}
+inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo)
+{
+ i_tex = i_tex;
+ FragmentCommonData o = SpecularSetup(i_tex, albedo);
+ o.normalWorld = float3(0, 0, 0);
+ o.eyeVec = poiCam.viewDir;
+ o.posWorld = i_posWorld;
+ o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha);
+ return o;
+}
+void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask)
+{
+ dissolveEmission = 0;
+ #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS))
+ #ifdef POI_MIRROR
+ applyMirrorTexture(mainTexture);
+ #endif
+ #endif
+ #if defined(PROP_CLIPPINGMASK) || !defined(OPTIMIZER_ENABLED)
+ alphaMask = POI2D_SAMPLER_PAN(_ClippingMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r;
+ #else
+ alphaMask = 1;
+ #endif
+
+ if (float(0))
+ {
+ alphaMask = 1 - alphaMask;
+ }
+ mainTexture.a *= alphaMask;
+ #ifndef POI_SHADOW
+ float3 vertexColor = poiMesh.vertexColor.rgb;
+
+ if(float(1))
+ {
+ vertexColor = GammaToLinearSpace(poiMesh.vertexColor.rgb);
+ }
+ albedo = float4(mainTexture.rgb * max(float4(1,0.5883366,0.4656525,0).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, vertexColor, float(0)), mainTexture.a * max(float4(1,0.5883366,0.4656525,0).a, 0.0000001));
+ #if defined(POI_LIGHTING) && defined(FORWARD_BASE_PASS)
+ applyShadeMaps(albedo);
+ #endif
+ albedo *= lerp(1, poiMesh.vertexColor.a, float(0));
+ #ifdef POI_RGBMASK
+ albedo.rgb = calculateRGBMask(albedo.rgb);
+ #endif
+ albedo.a = saturate(float(0) + albedo.a);
+ wireframeEmission = 0;
+ #ifdef POI_WIREFRAME
+ applyWireframe(wireframeEmission, albedo);
+ #endif
+ float backFaceDetailIntensity = 1;
+ float mixedHueShift = float(0);
+ applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission);
+ #ifdef POI_FUR
+ calculateFur();
+ #endif
+ albedo.rgb = saturate(albedo.rgb);
+ #ifdef POI_HOLOGRAM
+ ApplyHoloAlpha(albedo);
+ #endif
+ s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo);
+ #endif
+}
+void distanceFade(inout float4 albedo)
+{
+ #if defined(PROP_MAINFADETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r;
+ #else
+ half fadeMap = 1;
+ #endif
+ if (fadeMap)
+ {
+ float fadeDistance = float(1) ? poiCam.distanceToVert : poiCam.distanceToModel;
+ half fadeValue = lerp(float(0), float(1), smoothstep(float(0), float(0), fadeDistance));
+ albedo.a *= fadeValue;
+ }
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc.meta
new file mode 100644
index 00000000..ddab1a1d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMainTex.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c4a21c93d2c335c4fa1bef754dd83e38
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc
new file mode 100644
index 00000000..ae29684f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc
@@ -0,0 +1,58 @@
+#ifndef POI_MATH
+#define POI_MATH
+#ifndef pi
+ #define pi float(3.14159265359)
+#endif
+float4 quaternion_conjugate(float4 v)
+{
+ return float4(
+ v.x, -v.yzw
+ );
+}
+float4 quaternion_mul(float4 v1, float4 v2)
+{
+ float4 result1 = (v1.x * v2 + v1 * v2.x);
+ float4 result2 = float4(
+ - dot(v1.yzw, v2.yzw),
+ cross(v1.yzw, v2.yzw)
+ );
+ return float4(result1 + result2);
+}
+float4 get_quaternion_from_angle(float3 axis, float angle)
+{
+ return float4(
+ cos(angle / 2.0),
+ normalize(axis) * sin(angle / 2.0)
+ );
+}
+float4 quaternion_from_vector(float3 inVec)
+{
+ return float4(0.0, inVec);
+}
+float degree_to_radius(float degree)
+{
+ return(
+ degree / 180.0 * pi
+ );
+}
+float3 rotate_with_quaternion(float3 inVec, float3 rotation)
+{
+ float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x));
+ float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y));
+ float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z));
+ #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C))
+ float4 quaternion = normalize(MUL3(qx, qy, qz));
+ float4 conjugate = quaternion_conjugate(quaternion);
+ float4 inVecQ = quaternion_from_vector(inVec);
+ float3 rotated = (
+ MUL3(quaternion, inVecQ, conjugate)
+ ).yzw;
+ return rotated;
+}
+float4 transform(float4 input, float4 pos, float4 rotation, float4 scale)
+{
+ input.rgb *= (scale.xyz * scale.w);
+ input = float4(rotate_with_quaternion(input.xyz, rotation.xyz/* * rotation.w*/) + (pos.xyz/* * pos.w*/), input.w);
+ return input;
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc.meta
new file mode 100644
index 00000000..137e0226
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMath.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef5d37c64b011a94ca6bb44bb245196c
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc
new file mode 100644
index 00000000..9eebf394
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc
@@ -0,0 +1,75 @@
+#ifndef POI_MIRROR
+ #define POI_MIRROR
+ float _Mirror;
+ float _EnableMirrorTexture;
+ #if defined(PROP_MIRRORTEXTURE) || !defined(OPTIMIZER_ENABLED)
+ POI_TEXTURE_NOSAMPLER(_MirrorTexture);
+ #endif
+ void applyMirrorRenderVert(inout float4 vertex)
+ {
+
+ if (float(0) != 0)
+ {
+ bool inMirror = IsInMirror();
+ if(float(0) == 1 && inMirror)
+ {
+ return;
+ }
+ if(float(0) == 1 && !inMirror)
+ {
+ vertex = -1;
+ return;
+ }
+ if(float(0) == 2 && inMirror)
+ {
+ vertex = -1;
+ return;
+ }
+ if(float(0) == 2 && !inMirror)
+ {
+ return;
+ }
+ }
+ }
+ void applyMirrorRenderFrag()
+ {
+
+ if(float(0) != 0)
+ {
+ bool inMirror = IsInMirror();
+ if(float(0) == 1 && inMirror)
+ {
+ return;
+ }
+ if(float(0) == 1 && !inMirror)
+ {
+ clip(-1);
+ return;
+ }
+ if(float(0) == 2 && inMirror)
+ {
+ clip(-1);
+ return;
+ }
+ if(float(0) == 2 && !inMirror)
+ {
+ return;
+ }
+ }
+ }
+ #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS))
+ void applyMirrorTexture(inout float4 mainTexture)
+ {
+
+ if(float(0))
+ {
+ if(IsInMirror())
+ {
+ #if defined(PROP_MIRRORTEXTURE) || !defined(OPTIMIZER_ENABLED)
+ mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0));
+ #endif
+ }
+ }
+ }
+ #endif
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc.meta
new file mode 100644
index 00000000..75f0b608
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiMirror.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ccb25f8235ad1b54daf7f4cde6826c7a
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc
new file mode 100644
index 00000000..293af65b
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc
@@ -0,0 +1,41 @@
+#ifndef POI_PASS
+#define POI_PASS
+#include "UnityCG.cginc"
+#include "Lighting.cginc"
+#include "UnityPBSLighting.cginc"
+#include "AutoLight.cginc"
+#include "UnityShaderVariables.cginc"
+#ifdef POI_META_PASS
+ #include "UnityMetaPass.cginc"
+#endif
+#include "/CGI_PoiMacros.cginc"
+#include "/CGI_PoiDefines.cginc"
+#include "/CGI_FunctionsArtistic.cginc"
+#include "/CGI_Poicludes.cginc"
+#include "/CGI_PoiHelpers.cginc"
+#include "/CGI_PoiBlending.cginc"
+#include "/CGI_PoiPenetration.cginc"
+#include "/CGI_PoiVertexManipulations.cginc"
+#include "/CGI_PoiSpawnInVert.cginc"
+#include "/CGI_PoiV2F.cginc"
+#include "/CGI_PoiVert.cginc"
+#ifdef TESSELATION
+ #include "/CGI_PoiTessellation.cginc"
+#endif
+#include "/CGI_PoiDithering.cginc"
+#include "/CGI_PoiData.cginc"
+#include "/CGI_PoiSpawnInFrag.cginc"
+#ifdef WIREFRAME
+ #include "/CGI_PoiWireframe.cginc"
+#endif
+#ifdef FUR
+#endif
+#ifdef VIGNETTE_MASKED
+ #include "/CGI_PoiLighting.cginc"
+#endif
+#include "/CGI_PoiMainTex.cginc"
+#include "/CGI_PoiBlending.cginc"
+#include "/CGI_PoiGrab.cginc"
+#include "/CGI_PoiAlphaToCoverage.cginc"
+#include "/CGI_PoiFrag.cginc"
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc.meta
new file mode 100644
index 00000000..c786839f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPass.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2dbd9168e535be0429dff0ca81674e13
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc
new file mode 100644
index 00000000..750be2e2
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc
@@ -0,0 +1,28 @@
+#ifndef POI_PASS_SHADOW
+ #define POI_PASS_SHADOW
+ #pragma multi_compile_shadowcaster
+ #include "UnityCG.cginc"
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+ #include "Lighting.cginc"
+ #include "UnityPBSLighting.cginc"
+ #include "AutoLight.cginc"
+ #include "/CGI_PoiMacros.cginc"
+ #include "/CGI_PoiDefines.cginc"
+ #include "/CGI_Poicludes.cginc"
+ #include "/CGI_PoiShadowIncludes.cginc"
+ #include "/CGI_PoiHelpers.cginc"
+ #include "/CGI_PoiMirror.cginc"
+ #include "/CGI_PoiSpawnInFrag.cginc"
+ #include "/CGI_PoiV2F.cginc"
+ #include "/CGI_PoiData.cginc"
+ #ifdef WIREFRAME
+ #include "/CGI_PoiWireframe.cginc"
+ #endif
+ #include "/CGI_PoiDithering.cginc"
+ #include "/CGI_PoiPenetration.cginc"
+ #include "/CGI_PoiVertexManipulations.cginc"
+ #include "/CGI_PoiSpawnInVert.cginc"
+ #include "/CGI_PoiShadowVert.cginc"
+ #include "/CGI_PoiShadowFrag.cginc"
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc.meta
new file mode 100644
index 00000000..76d32c10
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPassShadow.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ca082bb6ca7d7a34081fc033d4a247a7
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc
new file mode 100644
index 00000000..ecd11e5e
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc
@@ -0,0 +1,194 @@
+#ifndef RALIV_PENETRATION
+ #define RALIV_PENETRATION
+ float _PenetratorEnabled;
+ float _squeeze;
+ float _SqueezeDist;
+ float _BulgeOffset;
+ float _BulgePower;
+ float _Length;
+ float _EntranceStiffness;
+ float _Curvature;
+ float _ReCurvature;
+ float _WriggleSpeed;
+ float _Wriggle;
+ float _OrificeChannel;
+ float __dirty;
+ float _OrifaceEnabled;
+ sampler2D _OrificeData;
+ float _EntryOpenDuration;
+ float _Shape1Depth;
+ float _Shape1Duration;
+ float _Shape2Depth;
+ float _Shape2Duration;
+ float _Shape3Depth;
+ float _Shape3Duration;
+ float _BlendshapePower;
+ float _BlendshapeBadScaleFix;
+ void GetBestLights(float Channel, inout int orificeType, inout float3 orificePositionTracker, inout float3 orificeNormalTracker, inout float3 penetratorPositionTracker, inout float penetratorLength)
+ {
+ float ID = step(0.5, Channel);
+ float baseID = (ID * 0.02);
+ float holeID = (baseID + 0.01);
+ float ringID = (baseID + 0.02);
+ float normalID = (0.05 + (ID * 0.01));
+ float penetratorID = (0.09 + (ID * - 0.01));
+ float4 orificeWorld;
+ float4 orificeNormalWorld;
+ float4 penetratorWorld;
+ float penetratorDist = 100;
+ for (int i = 0; i < 4; i ++)
+ {
+ float range = (0.005 * sqrt(1000000 - unity_4LightAtten0[i])) / sqrt(unity_4LightAtten0[i]);
+ if (length(unity_LightColor[i].rgb) < 0.01)
+ {
+ if(abs(fmod(range, 0.1) - holeID) < 0.005)
+ {
+ orificeType = 0;
+ orificeWorld = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1);
+ orificePositionTracker = mul(unity_WorldToObject, orificeWorld).xyz;
+ }
+ if(abs(fmod(range, 0.1) - ringID) < 0.005)
+ {
+ orificeType = 1;
+ orificeWorld = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1);
+ orificePositionTracker = mul(unity_WorldToObject, orificeWorld).xyz;
+ }
+ if(abs(fmod(range, 0.1) - normalID) < 0.005)
+ {
+ orificeNormalWorld = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1);
+ orificeNormalTracker = mul(unity_WorldToObject, orificeNormalWorld).xyz;
+ }
+ if(abs(fmod(range, 0.1) - penetratorID) < 0.005)
+ {
+ float3 tempPenetratorPositionTracker = penetratorPositionTracker;
+ penetratorWorld = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1);
+ penetratorPositionTracker = mul(unity_WorldToObject, penetratorWorld).xyz;
+ if(length(penetratorPositionTracker) > length(tempPenetratorPositionTracker))
+ {
+ penetratorPositionTracker = tempPenetratorPositionTracker;
+ }
+ else
+ {
+ penetratorLength = unity_LightColor[i].a;
+ }
+ }
+ }
+ }
+ }
+ #ifdef POI_SHADOW
+ void applyRalivDynamicPenetrationSystem(inout float3 VertexPosition, inout float3 VertexNormal, inout VertexInputShadow v)
+ #else
+ void applyRalivDynamicPenetrationSystem(inout float3 VertexPosition, inout float3 VertexNormal, inout appdata v)
+ #endif
+ {
+
+ if(float(1))
+ {
+ float orificeChannel=0;
+ float orificeType = 0;
+ float3 orificePositionTracker = float3(0,0,100);
+ float3 orificeNormalTracker = float3(0,0,99);
+ float3 penetratorPositionTracker = float3(0,0,1);
+ float3 penetratorNormalTracker = float3(0,0,1);
+ float pl=0;
+ GetBestLights(orificeChannel, orificeType, orificePositionTracker, orificeNormalTracker, penetratorNormalTracker, pl);
+ float3 orificeNormal = normalize( lerp( ( orificePositionTracker - orificeNormalTracker ) , orificePositionTracker , max( float(0.01) , 0.01 )) );
+ float behind = smoothstep(-float(0.3580336)*0.5, float(0.3580336)*0.2, orificePositionTracker.z);
+ orificePositionTracker.z=(abs(orificePositionTracker.z+(float(0.3580336)*0.2))-(float(0.3580336)*0.2))*(1+step(orificePositionTracker.z,0)*2);
+ orificePositionTracker.z=smoothstep(-float(0.3580336)*0.2, float(0.3580336)*0.2, orificePositionTracker.z) * orificePositionTracker.z;
+ float distanceToOrifice = length( orificePositionTracker );
+ float3 PhysicsNormal = normalize(penetratorNormalTracker.xyz);
+ float enterFactor = smoothstep( float(0.3580336) , float(0.3580336)+0.05 , distanceToOrifice);
+ float wriggleTimeY = _Time.y * float(6.2);
+ float curvatureMod = ( float(0.3580336) * ( ( cos( wriggleTimeY ) * float(0) ) + float(0) ) );
+ float wriggleTimeX = _Time.y * ( float(6.2) * 0.79 );
+ float3 finalOrificeNormal = normalize( lerp( orificeNormal , ( PhysicsNormal + ( ( float3(0,1,0) * ( curvatureMod + ( float(0.3580336) * ( float(0) + ( ( sin( wriggleTimeY ) * 0.3 ) * float(0) ) ) * 2.0 ) ) ) + ( float3(0.5,0,0) * ( cos( wriggleTimeX ) * float(0) ) ) ) ) , enterFactor) );
+ float3 finalOrificePosition = lerp( orificePositionTracker , ( ( normalize(penetratorNormalTracker) * float(0.3580336) ) + ( float3(0,0.2,0) * ( sin( ( wriggleTimeY + UNITY_PI ) ) * float(0) ) * float(0.3580336) ) + ( float3(0.2,0,0) * float(0.3580336) * ( sin( ( wriggleTimeX + UNITY_PI ) ) * float(0) ) ) ) , enterFactor);
+ float finalOrificeDistance = length( finalOrificePosition );
+ float3 bezierBasePosition = float3(0,0,0);
+ float bezierDistanceThird = ( finalOrificeDistance / 3.0 );
+ float3 curvatureOffset = lerp( float3( 0,0,0 ) , ( float3(0,1,0) * ( curvatureMod * -0.2 ) ) , saturate( ( distanceToOrifice / float(0.3580336) ) ));
+ float3 bezierBaseNormal = ( ( bezierDistanceThird * float3(0,0,1) ) + curvatureOffset );
+ float3 bezierOrificeNormal = ( finalOrificePosition - ( bezierDistanceThird * finalOrificeNormal ) );
+ float3 bezierOrificePosition = finalOrificePosition;
+ float vertexBaseTipPosition = ( VertexPosition.z / finalOrificeDistance );
+ float3 sphereifyDistance = ( VertexPosition.xyz - float3(0,0, distanceToOrifice) );
+ float3 sphereifyNormal = normalize( sphereifyDistance );
+ float sphereifyFactor = smoothstep( 0.01 , -0.01 , distanceToOrifice - VertexPosition.z);
+ sphereifyFactor *= 1-orificeType;
+ VertexPosition.xyz = lerp( VertexPosition.xyz , ( float3(0,0, distanceToOrifice) + ( min( length( sphereifyDistance ) , float(0.2) ) * sphereifyNormal ) ) , sphereifyFactor);
+ float squeezeFactor = smoothstep( 0.0 , float(0.0259) , VertexPosition.z - distanceToOrifice);
+ squeezeFactor = max( squeezeFactor , smoothstep( 0.0 , float(0.0259) , distanceToOrifice - VertexPosition.z));
+ squeezeFactor = 1- (1-squeezeFactor) * smoothstep(0,0.01,VertexPosition.z) * behind * (1-enterFactor);
+ VertexPosition.xy = lerp( ( normalize(VertexPosition.xy) * min( length( VertexPosition.xy ) , float(0.2) ) ) , VertexPosition.xy , squeezeFactor);
+ float bulgeFactor = 1-smoothstep( 0.0 , float(0.053) , abs( ( finalOrificeDistance - VertexPosition.z ) ));
+ float bulgeFactorBaseClip = smoothstep( 0.0 , 0.05 , VertexPosition.z);
+ VertexPosition.xy *= lerp( 1.0 , ( 1.0 + float(0.00072) ) , ( bulgeFactor * bulgeFactorBaseClip * behind * (1-enterFactor)));
+ float t = saturate(vertexBaseTipPosition);
+ float oneMinusT = 1 - t;
+ float3 bezierPoint = oneMinusT * oneMinusT * oneMinusT * bezierBasePosition + 3 * oneMinusT * oneMinusT * t * bezierBaseNormal + 3 * oneMinusT * t * t * bezierOrificeNormal + t * t * t * bezierOrificePosition;
+ float3 straightLine = (float3(0.0 , 0.0 , VertexPosition.z));
+ float baseFactor = smoothstep( 0.05 , -0.05 , VertexPosition.z);
+ bezierPoint = lerp( bezierPoint , straightLine , baseFactor);
+ bezierPoint = lerp( ( ( finalOrificeNormal * ( VertexPosition.z - finalOrificeDistance ) ) + finalOrificePosition ) , bezierPoint , step( vertexBaseTipPosition , 1.0 ));
+ float3 bezierDerivitive = 3 * oneMinusT * oneMinusT * (bezierBaseNormal - bezierBasePosition) + 6 * oneMinusT * t * (bezierOrificeNormal - bezierBaseNormal) + 3 * t * t * (bezierOrificePosition - bezierOrificeNormal);
+ bezierDerivitive = normalize( lerp( bezierDerivitive , float3(0,0,1) , baseFactor) );
+ float bezierUpness = dot( bezierDerivitive , float3( 0,1,0 ) );
+ float3 bezierUp = lerp( float3(0,1,0) , float3( 0,0,-1 ) , saturate( bezierUpness ));
+ float bezierDownness = dot( bezierDerivitive , float3( 0,-1,0 ) );
+ bezierUp = normalize( lerp( bezierUp , float3( 0,0,1 ) , saturate( bezierDownness )) );
+ float3 bezierSpaceX = normalize( cross( bezierDerivitive , bezierUp ) );
+ float3 bezierSpaceY = normalize( cross( bezierDerivitive , -bezierSpaceX ) );
+ float3 bezierSpaceVertexOffset = ( ( VertexPosition.y * bezierSpaceY ) + ( VertexPosition.x * -bezierSpaceX ) );
+ float3 bezierSpaceVertexOffsetNormal = normalize( bezierSpaceVertexOffset );
+ float distanceFromTip = ( finalOrificeDistance - VertexPosition.z );
+ float3 bezierSpaceVertexOffsetFinal = lerp( bezierSpaceVertexOffset , bezierSpaceVertexOffset , enterFactor);
+ float3 bezierConstructedVertex = ( bezierPoint + bezierSpaceVertexOffsetFinal );
+ VertexNormal = normalize( ( ( -bezierSpaceX * VertexNormal.x ) + ( bezierSpaceY * VertexNormal.y ) + ( bezierDerivitive * VertexNormal.z ) ) );
+ VertexPosition.xyz = bezierConstructedVertex;
+ }
+ }
+ float3 getBlendOffset(float blendSampleIndex, float activationDepth, float activationSmooth, int vertexID, float penetrationDepth, float3 normal, float3 tangent, float3 binormal)
+ {
+ float blendTextureSize = 1024;
+ float2 blendSampleUV = (float2(((fmod((float)vertexID, blendTextureSize) + 0.5) / (blendTextureSize)), (((floor((vertexID / (blendTextureSize))) + 0.5) / (blendTextureSize)) + blendSampleIndex / 8)));
+ float3 sampledBlend = tex2Dlod(_OrificeData, float4(blendSampleUV, 0, 0.0)).rgb;
+ float blendActivation = smoothstep((activationDepth), (activationDepth + activationSmooth), penetrationDepth);
+ blendActivation = -cos(blendActivation * 3.1416) * 0.5 + 0.5;
+ float3 blendOffset = ((sampledBlend - float3(1, 1, 1)) * (blendActivation) * float(1) * float(1));
+ return((blendOffset.x * normal) + (blendOffset.y * tangent) + (blendOffset.z * binormal));
+ }
+ #ifdef POI_SHADOW
+ void applyRalivDynamicOrifaceSystem(inout VertexInputShadow v)
+ #else
+ void applyRalivDynamicOrifaceSystem(inout appdata v)
+ #endif
+ {
+
+ if (float(0))
+ {
+ float penetratorLength = 0.1;
+ float penetratorDistance;
+ float3 orificePositionTracker = float3(0, 0, -100);
+ float3 orificeNormalTracker = float3(0, 0, -99);
+ float3 penetratorPositionTracker = float3(0, 0, 100);
+ float orificeType = 0;
+ GetBestLights(float(0), orificeType, orificePositionTracker, orificeNormalTracker, penetratorPositionTracker, penetratorLength);
+ penetratorDistance = distance(orificePositionTracker, penetratorPositionTracker);
+ float penetrationDepth = (penetratorLength - penetratorDistance);
+ float3 normal = normalize(v.normal);
+ float3 tangent = normalize(v.tangent.xyz);
+ float3 binormal = normalize(cross(normal, tangent));
+ v.vertex.xyz += getBlendOffset(0, 0, float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.vertex.xyz += getBlendOffset(2, float(0.1), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.vertex.xyz += getBlendOffset(4, float(0.2), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.vertex.xyz += getBlendOffset(6, float(0.3), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.vertex.w = 1;
+ v.normal += getBlendOffset(1, 0, float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.normal += getBlendOffset(3, float(0.1), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.normal += getBlendOffset(5, float(0.2), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.normal += getBlendOffset(7, float(0.3), float(0.1), v.vertexId, penetrationDepth, normal, tangent, binormal);
+ v.normal = normalize(v.normal);
+ }
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc.meta
new file mode 100644
index 00000000..fb720c00
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiPenetration.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7b279f0713231eb4c9789489d224312c
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc
new file mode 100644
index 00000000..eba2fbb1
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc
@@ -0,0 +1,103 @@
+#ifndef SHADOW_FRAG
+#define SHADOW_FRAG
+float2 _MainDistanceFade;
+float _ForceOpaque;
+float _MainShadowClipMod;
+float2 _ClippingMaskPan;
+float _ClippingMaskUV;
+sampler3D _DitherMaskLOD;
+float2 _MainTexPan;
+float _MainTextureUV;
+float _Inverse_Clipping;
+float _MainDistanceFadeMin;
+float _MainDistanceFadeMax;
+half _MainMinAlpha;
+half _MainMaxAlpha;
+#if defined(PROP_MAINFADETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ POI_TEXTURE_NOSAMPLER(_MainFadeTexture);
+#endif
+float distanceFade()
+{
+ #if defined(PROP_MAINFADETEXTURE) || !defined(OPTIMIZER_ENABLED)
+ half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r;
+ #else
+ half fadeMap = 1;
+ #endif
+ return lerp(float(0), float(1), smoothstep(float(0), float(0), distance(poiMesh.worldPos, poiCam.worldPos)));
+}
+half4 fragShadowCaster(
+ #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS)
+ V2FShadow i, uint facing: SV_IsFrontFace
+ #endif
+ ): SV_Target
+ {
+ poiMesh.uv[0] = i.uv;
+ poiMesh.uv[1] = i.uv1;
+ poiMesh.uv[2] = i.uv2;
+ poiMesh.uv[3] = i.uv3;
+ float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0));
+ float clipValue = clamp(float(0.5) + float(0), - .001, 1.001);
+ poiMesh.vertexColor = saturate(i.vertexColor);
+ poiMesh.worldPos = i.worldPos;
+ poiMesh.localPos = i.localPos;
+ poiCam.worldPos = _WorldSpaceCameraPos;
+ #ifdef POI_MIRROR
+ applyMirrorRenderFrag();
+ #endif
+ #if defined(UNITY_STANDARD_USE_SHADOW_UVS)
+ half4 alpha = mainTexture;
+ #if defined(PROP_MIRRORTEXTURE) || !defined(OPTIMIZER_ENABLED)
+
+ if (float(0))
+ {
+ if (IsInMirror())
+ {
+ alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a;
+ }
+ }
+ #endif
+ alpha.a *= distanceFade();
+ half alphaMask = POI2D_PAN(_ClippingMask, poiMesh.uv[float(0)], float4(0,0,0,0));
+
+ if (float(0))
+ {
+ alphaMask = 1 - alphaMask;
+ }
+ alpha.a *= alphaMask;
+ alpha.a *= float4(1,0.5883366,0.4656525,0).a + .0001;
+ alpha.a += float(0);
+ alpha.a = saturate(alpha.a);
+
+ if (float(0) == 0)
+ {
+ alpha.a = 1;
+ }
+
+ if (float(0) == 1)
+ {
+ applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy);
+ }
+ #ifdef POI_DISSOLVE
+ float3 fakeEmission = 1;
+ calculateDissolve(alpha, fakeEmission);
+ #endif
+
+ if (float(0) == 1)
+ {
+ clip(alpha.a - 0.001);
+ }
+
+ if (float(0) == 1)
+ {
+ clip(alpha.a - clipValue);
+ }
+
+ if (float(0) > 1)
+ {
+ float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a;
+ clip(dither - 0.01);
+ }
+ #endif
+ SHADOW_CASTER_FRAGMENT(i)
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc.meta
new file mode 100644
index 00000000..ffa6c2d8
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowFrag.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6d9edfffba8494747856b8d49cc8de40
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc
new file mode 100644
index 00000000..655fdc07
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc
@@ -0,0 +1,39 @@
+#ifndef SHADOW_INCLUDES
+ #define SHADOW_INCLUDES
+ #define UNITY_STANDARD_USE_SHADOW_UVS 1
+ float4 _Color;
+ sampler2D _ClippingMask; float4 _ClippingMask_ST;
+ struct VertexInputShadow
+ {
+ float4 vertex: POSITION;
+ float3 normal: NORMAL;
+ float4 tangent: TANGENT;
+ float4 color: COLOR;
+ float2 uv0: TEXCOORD0;
+ float2 uv1: TEXCOORD1;
+ float2 uv2: TEXCOORD2;
+ float2 uv3: TEXCOORD3;
+ uint vertexId : SV_VertexID;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+ #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS)
+ struct V2FShadow
+ {
+ V2F_SHADOW_CASTER_NOPOS
+ float4 pos: SV_POSITION;
+ float2 uv: TEXCOORD1;
+ float2 uv1: TEXCOORD2;
+ float2 uv2: TEXCOORD3;
+ float2 uv3: TEXCOORD4;
+ float3 modelPos: TEXCOORD5;
+ float4 worldPos: TEXCOORD6;
+ float4 localPos: TEXCOORD7;
+ float3 angleAlpha: TEXCOORD8;
+ float4 grabPos: TEXCOORD9;
+ fixed3 barycentricCoordinates: TEXCOORD10;
+ float4 vertexColor: TEXCOORD11;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+ #endif
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc.meta
new file mode 100644
index 00000000..ef54d7b4
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowIncludes.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ddf2a8ce213780d42a8579485d81cbca
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc
new file mode 100644
index 00000000..69ff6abd
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc
@@ -0,0 +1,65 @@
+float _EnableTouchGlow;
+float _EnableBulge;
+float _VertexManipulationHeightUV;
+V2FShadow vertShadowCaster(VertexInputShadow v)
+{
+ V2FShadow o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ #ifdef RALIV_PENETRATION
+ applyRalivDynamicOrifaceSystem(v);
+ #endif
+ UNITY_INITIALIZE_OUTPUT(V2FShadow, o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ o.localPos = v.vertex;
+ o.worldPos = mul(unity_ObjectToWorld, o.localPos);
+ #ifdef RALIV_PENETRATION
+ applyRalivDynamicPenetrationSystem(o.localPos.rgb, v.normal.rgb, v);
+ #endif
+ o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1));
+ o.uv = v.uv0;
+ o.uv1 = v.uv1;
+ o.uv2 = v.uv2;
+ o.uv3 = v.uv3;
+ float2 uvToUse = 0;
+
+ if (float(0) == 0)
+ {
+ uvToUse = v.uv0.xy;
+ }
+
+ if(float(0) == 1)
+ {
+ uvToUse = v.uv1.xy;
+ }
+
+ if(float(0) == 2)
+ {
+ uvToUse = v.uv2.xy;
+ }
+
+ if(float(0) == 3)
+ {
+ uvToUse = v.uv3.xy;
+ }
+ applyVertexGlitching(o.worldPos, o.localPos);
+ applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy);
+ o.pos = UnityObjectToClipPos(o.localPos);
+ o.grabPos = ComputeGrabScreenPos(o.pos);
+ o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1));
+ o.vertexColor = v.color;
+
+ if(float(0) || float(0))
+ {
+ o.pos = UnityObjectToClipPos(float3(0, 0, -5));
+ o.localPos.xyz = float3(0, 0, -5);
+ o.worldPos = mul(unity_ObjectToWorld, o.localPos);
+ }
+ o.angleAlpha = 1;
+ #ifdef POI_RANDOM
+ o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos);
+ #endif
+ o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal);
+ o.pos = UnityApplyLinearShadowBias(o.pos);
+ return o;
+}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc.meta
new file mode 100644
index 00000000..82d0ba7a
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiShadowVert.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f90e6739c4e96ef4087dce8d743e3637
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc
new file mode 100644
index 00000000..02682b1a
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc
@@ -0,0 +1,52 @@
+#ifndef POI_SPAWN_IN_FRAG
+ #define POI_SPAWN_FRAG
+ #ifndef SPAWN_IN_VARIABLES
+ #define SPAWN_IN_VARIABLES
+ float3 _SpawnInGradientStart;
+ float3 _SpawnInGradientFinish;
+ fixed _SpawnInAlpha;
+ fixed _SpawnInNoiseIntensity;
+ float3 _SpawnInEmissionColor;
+ float _SpawnInEmissionOffset;
+ float _SpawnInVertOffset;
+ float _SpawnInVertOffsetOffset;
+ float _EnableScifiSpawnIn;
+ #endif
+ UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST;
+ float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos)
+ {
+ return inverseLerp3(start, finish, localPos);
+ }
+ void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos)
+ {
+
+ if (float(0))
+ {
+ float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * float(0) * float(0.35);
+ float gradient = calculateGradientValueFrag(float4(0,2,0,1), float4(0,-2,0,1), localPos);
+ float inverseGradient = 1 - gradient;
+ float alpha = gradient - float(0) - noise;
+ spawnInEmission = saturate(inverseGradient + float(0) + float(0.1) +noise - 1) * float4(1,1,1,1);
+
+ if(float(0) >= 1)
+ {
+ clip(ceil(alpha) - 0.001);
+ }
+ }
+ }
+ void applySpawnInShadow(float2 uv, float3 localPos)
+ {
+
+ if(float(0))
+ {
+ float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * float(0) * float(0.35);
+ float gradient = calculateGradientValueFrag(float4(0,2,0,1), float4(0,-2,0,1), localPos);
+ float alpha = gradient - float(0) - noise + length(float(10));
+
+ if(float(0) >= 1)
+ {
+ clip(ceil(alpha) - 0.001);
+ }
+ }
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc.meta
new file mode 100644
index 00000000..64623538
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInFrag.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 116c6e9cd665ff841aa5c6e7990e631b
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc
new file mode 100644
index 00000000..8619e3a6
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc
@@ -0,0 +1,32 @@
+#ifndef POI_SPAWN_IN_FRAG
+ #define POI_SPAWN_FRAG
+ #ifndef SPAWN_IN_VARIABLES
+ #define SPAWN_IN_VARIABLES
+ float3 _SpawnInGradientStart;
+ float3 _SpawnInGradientFinish;
+ fixed _SpawnInAlpha;
+ fixed _SpawnInNoiseIntensity;
+ float3 _SpawnInEmissionColor;
+ float _SpawnInEmissionOffset;
+ float _SpawnInVertOffset;
+ float _SpawnInVertOffsetOffset;
+ float _EnableScifiSpawnIn;
+ #endif
+ float calculateGradientValueVert(float3 start, float3 finish, float3 localPos)
+ {
+ return inverseLerp3(start, finish, localPos);
+ }
+ void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv)
+ {
+
+ if (float(0))
+ {
+ float noise = 0;
+ float gradient = calculateGradientValueVert(float4(0,2,0,1), float4(0,-2,0,1), localPos.xyz);
+ float inverseGradient = 1 - gradient;
+ float alpha = gradient - float(0) - noise;
+ worldPos.xyz += saturate(inverseGradient + float(0) + float(0.1) -1) * float3(0, float(10), 0);
+ localPos.xyz = mul(unity_WorldToObject, worldPos).xyz;
+ }
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc.meta
new file mode 100644
index 00000000..a2b42a3d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiSpawnInVert.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 894434a589c04b24a8efd561569dcf00
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc
new file mode 100644
index 00000000..78534b4e
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc
@@ -0,0 +1,102 @@
+#ifndef POI_TESSELLATION
+ #define POI_TESSELLATION
+ float _TessellationPhongStrength;
+ float _TessellationEdgeLength;
+ float _TessellationExtrusionAmount;
+ float _TessellationUniform;
+ struct TessellationControlPoint
+ {
+ float4 vertex: INTERNALTESSPOS;
+ float3 normal: NORMAL;
+ float4 tangent: TANGENT;
+ float4 color: COLOR;
+ float2 uv0: TEXCOORD0;
+ float2 uv1: TEXCOORD1;
+ float2 uv2: TEXCOORD2;
+ float2 uv3: TEXCOORD3;
+ };
+ struct TessellationFactors
+ {
+ float edge[3]: SV_TessFactor;
+ float inside: SV_InsideTessFactor;
+ };
+ TessellationControlPoint poiTessellationVert(appdata v)
+ {
+ TessellationControlPoint p;
+ p.vertex = v.vertex;
+ p.normal = v.normal;
+ p.tangent = v.tangent;
+ p.color = v.color;
+ p.uv0 = v.uv0;
+ p.uv1 = v.uv1;
+ p.uv2 = v.uv2;
+ p.uv3 = v.uv3;
+ return p;
+ }
+ float TessellationEdgeFactor(float3 p0, float3 p1)
+ {
+ #ifndef _FADING_ON
+ float edgeLength = distance(p0, p1);
+ float3 edgeCenter = (p0 + p1) * 0.5;
+ float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos);
+ return edgeLength * _ScreenParams.y /
+ (_TessellationEdgeLength * viewDistance);
+ #else
+ return _TessellationUniform;
+ #endif
+ }
+ TessellationFactors poiPatchConst(
+ InputPatch < TessellationControlPoint, 3 > patch
+ )
+ {
+ TessellationFactors f;
+ float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz;
+ float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz;
+ float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz;
+ f.edge[0] = TessellationEdgeFactor(p1, p2);
+ f.edge[1] = TessellationEdgeFactor(p2, p0);
+ f.edge[2] = TessellationEdgeFactor(p0, p1);
+ f.inside = (TessellationEdgeFactor(p1, p2) +
+ TessellationEdgeFactor(p2, p0) +
+ TessellationEdgeFactor(p0, p1)) * (1 / 3.0);
+ return f;
+ }
+ [UNITY_domain("tri")]
+ [UNITY_outputcontrolpoints(3)]
+ [UNITY_outputtopology("triangle_cw")]
+ [UNITY_partitioning("fractional_odd")]
+ [UNITY_patchconstantfunc("poiPatchConst")]
+ TessellationControlPoint poiHull(
+ InputPatch < TessellationControlPoint, 3 > patch,
+ uint id: SV_OutputControlPointID
+ )
+ {
+ return patch[id];
+ }
+ [UNITY_domain("tri")]
+ v2f poiDomain(
+ TessellationFactors factors,
+ OutputPatch < TessellationControlPoint, 3 > patch,
+ float3 barycentricCoordinates: SV_DomainLocation
+ )
+ {
+ appdata data;
+ #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z;
+ MY_DOMAIN_PROGRAM_INTERPOLATE(vertex)
+ float3 pp[3];
+ for (int i = 0; i < 3; ++ i)
+ {
+ pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal));
+ }
+ data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz;
+ MY_DOMAIN_PROGRAM_INTERPOLATE(normal)
+ data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount;
+ MY_DOMAIN_PROGRAM_INTERPOLATE(tangent)
+ MY_DOMAIN_PROGRAM_INTERPOLATE(color)
+ MY_DOMAIN_PROGRAM_INTERPOLATE(uv0)
+ MY_DOMAIN_PROGRAM_INTERPOLATE(uv1)
+ MY_DOMAIN_PROGRAM_INTERPOLATE(uv2)
+ MY_DOMAIN_PROGRAM_INTERPOLATE(uv3)
+ return vert(data);
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc.meta
new file mode 100644
index 00000000..c0204fda
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiTessellation.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b8cfe38bd5860094bbf97247194b8f82
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc
new file mode 100644
index 00000000..76300b2a
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc
@@ -0,0 +1,33 @@
+#ifndef POI_V2F
+ #define POI_V2F
+ struct v2f
+ {
+ float4 pos: SV_POSITION;
+ float4 uv0: TEXCOORD0;
+ float4 uv1: TEXCOORD1;
+ float3 normal: TEXCOORD2;
+ float3 tangentViewDir: TEXCOORD3;
+ float4 tangent: TEXCOORD4;
+ float4 binormal: TEXCOORD5;
+ float4 worldPos: TEXCOORD6;
+ float4 localPos: TEXCOORD7;
+ float4 grabPos: TEXCOORD8;
+ float3 barycentricCoordinates: TEXCOORD9;
+ #if defined(GRAIN)
+ float4 worldDirection: TEXCOORD10;
+ #endif
+ #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)
+ float4 lightmapUV: TEXCOORD11;
+ #endif
+ float3 modelPos: TEXCOORD12;
+ float angleAlpha: TEXCOORD13;
+ float4 vertexColor: TEXCOORD14;
+ #ifdef FUR
+ float furAlpha: TEXCOORD15;
+ #endif
+ UNITY_SHADOW_COORDS(16)
+ UNITY_FOG_COORDS(17)
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc.meta
new file mode 100644
index 00000000..fb275683
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiV2F.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1ce55d8dbbcafcc4a99205339f84f910
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc
new file mode 100644
index 00000000..9292adde
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc
@@ -0,0 +1,98 @@
+#ifndef POI_VERT
+#define POI_VERT
+float _VertexManipulationHeightUV;
+float _VertexUnwrap;
+#define PM UNITY_MATRIX_P
+inline float4 CalculateFrustumCorrection()
+{
+ float x1 = -PM._31 / (PM._11 * PM._34);
+ float x2 = -PM._32 / (PM._22 * PM._34);
+ return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23);
+}
+float3 CreateBinormal(half3 normal, half3 tangent, half tangentSign)
+{
+ half sign = tangentSign * unity_WorldTransformParams.w;
+ return cross(normal, tangent) * sign;
+}
+v2f vert(appdata v)
+{
+ UNITY_SETUP_INSTANCE_ID(v);
+ v2f o;
+ #ifdef RALIV_PENETRATION
+ applyRalivDynamicOrifaceSystem(v);
+ #endif
+ UNITY_INITIALIZE_OUTPUT(v2f, o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ TANGENT_SPACE_ROTATION;
+ o.localPos = v.vertex;
+ o.worldPos = mul(unity_ObjectToWorld, o.localPos);
+ o.normal = UnityObjectToWorldNormal(v.normal);
+ #ifdef RALIV_PENETRATION
+ applyRalivDynamicPenetrationSystem(o.localPos.rgb, o.normal.rgb, v);
+ #endif
+ float2 uvToUse = 0;
+
+ if (float(0) == 0)
+ {
+ uvToUse = v.uv0.xy;
+ }
+
+ if (float(0) == 1)
+ {
+ uvToUse = v.uv1.xy;
+ }
+
+ if (float(0) == 2)
+ {
+ uvToUse = v.uv2.xy;
+ }
+
+ if (float(0) == 3)
+ {
+ uvToUse = v.uv3.xy;
+ }
+ applyVertexGlitching(o.worldPos, o.localPos);
+ applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy);
+ o.pos = UnityObjectToClipPos(o.localPos);
+ o.grabPos = ComputeGrabScreenPos(o.pos);
+ o.uv0.xy = v.uv0.xy;
+ o.uv0.zw = v.uv1.xy;
+ o.uv1.xy = v.uv2.xy;
+ o.uv1.zw = v.uv3.xy;
+ o.vertexColor = v.color;
+ o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz;
+ o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w);
+ o.binormal.rgb = CreateBinormal(o.normal.xyz, o.tangent.xyz, o.tangent.w);
+ #ifdef POI_BULGE
+ bulgyWolgy(o);
+ #endif
+ o.angleAlpha = 1;
+ #if defined(LIGHTMAP_ON)
+ o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
+ #endif
+ #ifdef DYNAMICLIGHTMAP_ON
+ o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
+ #endif
+ UNITY_TRANSFER_SHADOW(o, o.uv0.xy);
+ UNITY_TRANSFER_FOG(o, o.pos);
+ v.tangent.xyz = normalize(v.tangent.xyz);
+ v.normal = normalize(v.normal);
+ float3x3 objectToTangent = float3x3(
+ v.tangent.xyz,
+ cross(v.normal, v.tangent.xyz) * v.tangent.w,
+ v.normal
+ );
+ o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex));
+ #ifdef POI_META_PASS
+ o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST);
+ #endif
+ #if defined(GRAIN)
+ float4 worldDirection;
+ worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos;
+ worldDirection.w = dot(o.pos, CalculateFrustumCorrection());
+ o.worldDirection = worldDirection;
+ #endif
+ return o;
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc.meta
new file mode 100644
index 00000000..32cbbb60
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVert.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e5904641ba79fb94bbf9469352efe9f0
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc
new file mode 100644
index 00000000..da5ec55f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc
@@ -0,0 +1,76 @@
+#ifndef POI_VERTEX_MANIPULATION
+ #define POI_VERTEX_MANIPULATION
+ #include "/CGI_PoiMath.cginc"
+ float4 _VertexManipulationLocalTranslation;
+ float4 _VertexManipulationLocalRotation;
+ float4 _VertexManipulationLocalScale;
+ float4 _VertexManipulationWorldTranslation;
+ float _VertexManipulationHeight;
+ float _VertexManipulationHeightBias;
+ #if defined(PROP_VERTEXMANIPULATIONHEIGHTMASK) || !defined(OPTIMIZER_ENABLED)
+ sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST;
+ #endif
+ float2 _VertexManipulationHeightPan;
+ float _EnableVertexGlitch;
+ float _VertexGlitchThreshold;
+ float _VertexGlitchFrequency;
+ float _VertexGlitchStrength;
+ float _VertexRoundingDivision;
+ float _VertexRoundingEnabled;
+ void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex)
+ {
+ normal = rotate_with_quaternion(normal, float4(0,0,0,1).xyz);
+ tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1).xyz);
+ vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1));
+ }
+ void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex)
+ {
+ normal = rotate_with_quaternion(normal, float4(0,0,0,1).xyz);
+ vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1));
+ }
+ void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv)
+ {
+ #if defined(PROP_VERTEXMANIPULATIONHEIGHTMASK) || !defined(OPTIMIZER_ENABLED)
+ float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal;
+ #else
+ float3 heightOffset = float(0) * worldNormal;
+ #endif
+ worldPos.rgb += float4(0,0,0,1).xyz/* * float4(0,0,0,1).w*/ + heightOffset;
+ localPos.xyz = mul(unity_WorldToObject, worldPos).xyz;
+ }
+ void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv)
+ {
+ #if defined(PROP_VERTEXMANIPULATIONHEIGHTMASK) || !defined(OPTIMIZER_ENABLED)
+ float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal;
+ #else
+ float3 heightOffset = float(0) * worldNormal;
+ #endif
+ worldPos.rgb += float4(0,0,0,1).xyz/* * float4(0,0,0,1).w*/ + heightOffset;
+ localPos.xyz = mul(unity_WorldToObject, worldPos).xyz;
+ }
+ void applyVertexRounding(inout float4 worldPos, inout float4 localPos)
+ {
+
+ if (float(0))
+ {
+ worldPos.xyz = (ceil(worldPos.xyz * float(500)) / float(500)) - 1 / float(500) * .5;
+ localPos = mul(unity_WorldToObject, worldPos);
+ }
+ }
+ void applyVertexGlitching(inout float4 worldPos, inout float4 localPos)
+ {
+
+ if(float(0))
+ {
+ float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz;
+ forward.y = 0;
+ forward = normalize(forward);
+ float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward));
+ float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1;
+ float time = _Time.y * float(0);
+ float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4;
+ worldPos.xyz += glitchAmount * glitchDirection * (float(1) * .01) * step(float(1), randomGlitch);
+ localPos = mul(unity_WorldToObject, worldPos);
+ }
+ }
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc.meta
new file mode 100644
index 00000000..82d73604
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiVertexManipulations.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3faae2eab95b0864ebcbccf3aeb43668
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc
new file mode 100644
index 00000000..a8495d20
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc
@@ -0,0 +1,97 @@
+#ifndef POI_WIREFRAME
+ #define POI_WIREFRAME
+ UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST;
+ float2 _WireframeTexturePan;
+ float _WireframeSmoothing;
+ float _WireframeThickness;
+ float4 _WireframeColor;
+ float _WireframeAlpha;
+ float _WireframeEnable;
+ float _WireframeWaveEnabled;
+ float _WireframeWaveDensity;
+ float _WireframeWaveSpeed;
+ float _WireframeEdgeOpacity;
+ float _WireframeFaceOpacity;
+ half _WireframeEmissionAlpha;
+ float _WireframeEmissionStrength;
+ float _WireframeQuad;
+ float _WireframeUV;
+ #ifndef POI_SHADOW
+ void applyWireframe(inout float3 wireframeEmission, inout float4 albedo)
+ {
+
+ if (_WireframeEnable)
+ {
+ float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan);
+ float size = _WireframeThickness;
+ half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates));
+ half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates);
+ half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1;
+ float4 wireframeColor = _WireframeColor * colorMap;
+ albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary);
+ albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary);
+ wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a;
+ }
+ }
+ [maxvertexcount(3)]
+ void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream)
+ {
+
+ if(_WireframeQuad)
+ {
+ float e1 = length(IN[0].localPos - IN[1].localPos);
+ float e2 = length(IN[1].localPos - IN[2].localPos);
+ float e3 = length(IN[2].localPos - IN[0].localPos);
+ float3 quad = 0;
+ if(e1 > e2 && e1 > e3)
+ quad.y = 1.;
+ else if(e2 > e3 && e2 > e1)
+ quad.x = 1;
+ else
+ quad.z = 1;
+ IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad;
+ IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad;
+ IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad;
+ }
+ else
+ {
+ IN[0].barycentricCoordinates = fixed3(1, 0, 0);
+ IN[1].barycentricCoordinates = fixed3(0, 1, 0);
+ IN[2].barycentricCoordinates = fixed3(0, 0, 1);
+ }
+ tristream.Append(IN[0]);
+ tristream.Append(IN[1]);
+ tristream.Append(IN[2]);
+ }
+ #else
+ float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos)
+ {
+
+ if(_WireframeEnable)
+ {
+ float wireframeFadeAlpha = _WireframeAlpha;
+ float3 finalWireframeColor = 0;
+ float3 barys;
+ barys.xy = barycentricCoordinates;
+ barys.z = 1 - barys.x - barys.y;
+ float3 deltas = fwidth(barys);
+ float3 smoothing = deltas * _WireframeSmoothing;
+ float wireframeThickness = _WireframeThickness;
+ float3 thickness = deltas * wireframeThickness;
+ barys = smoothstep(thickness, thickness + smoothing, barys);
+ float minBary = min(barys.x, min(barys.y, barys.z));
+ return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary);
+ }
+ }
+ [maxvertexcount(3)]
+ void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream)
+ {
+ IN[0].barycentricCoordinates = fixed3(1, 0, 0);
+ IN[1].barycentricCoordinates = fixed3(0, 1, 0);
+ IN[2].barycentricCoordinates = fixed3(0, 0, 1);
+ tristream.Append(IN[0]);
+ tristream.Append(IN[1]);
+ tristream.Append(IN[2]);
+ }
+ #endif
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc.meta
new file mode 100644
index 00000000..6b540501
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_PoiWireframe.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 21fc97737eb4678489d4797f1cb3634f
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc
new file mode 100644
index 00000000..307aa02d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc
@@ -0,0 +1,151 @@
+#ifndef POICLUDES
+#define POICLUDES
+UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize;
+float _SpecularLMOcclusion;
+float _SpecLMOcclusionAdjust;
+sampler2D _PoiGrab;
+sampler2D _CameraDepthTexture;
+float _Cutoff;
+float _AlphaMod;
+struct appdata
+{
+ float4 vertex : POSITION;
+ float3 normal : NORMAL;
+ float4 tangent : TANGENT;
+ float4 color : COLOR;
+ float2 uv0 : TEXCOORD0;
+ float2 uv1 : TEXCOORD1;
+ float2 uv2 : TEXCOORD2;
+ float2 uv3 : TEXCOORD3;
+ uint vertexId : SV_VertexID;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+};
+#ifdef OUTLINE
+ float _LineWidth;
+ float _OutlineEmission;
+ float4 _LineColor;
+ sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV;
+ float4 _OutlineFadeDistance;
+ float4 _OutlineGlobalPan;
+#endif
+struct PoiLighting
+{
+ half3 direction;
+ half3 color;
+ fixed attenuation;
+ #ifdef FORWARD_ADD_PASS
+ fixed additiveShadow;
+ #endif
+ half3 directLighting;
+ half3 indirectLighting;
+ half lightMap;
+ float3 rampedLightMap;
+ half3 finalLighting;
+ half3 halfDir;
+ half nDotL;
+ half nDotH;
+ half lDotv;
+ half lDotH;
+ half nDotV;
+ half N0DotV;
+ half diffuseTerm;
+ half occlusion;
+ half dotNH;
+ half dotLH;
+ #ifdef VERTEXLIGHT_ON
+ float4 vDotNL;
+ float3 vColor[4];
+ float4 vCorrectedDotNL;
+ float4 vAttenuation;
+ float4 vAttenuationDotNL;
+ float3 vPosition[4];
+ float3 vDirection[4];
+ float3 vFinalLighting;
+ float3 vHalfDir[4];
+ half4 vDotNH;
+ half4 vDotLH;
+ #endif
+};
+struct PoiCamera
+{
+ half3 viewDir;
+ half3 tangentViewDir;
+ half3 decalTangentViewDir;
+ half3 forwardDir;
+ half3 worldPos;
+ float viewDotNormal;
+ float distanceToModel;
+ float distanceToVert;
+ float3 reflectionDir;
+ float3 vertexReflectionDir;
+ float2 screenUV;
+ float4 clipPos;
+ #if defined(GRAIN)
+ float4 worldDirection;
+ #endif
+ float4 grabPos;
+};
+struct PoiMesh
+{
+ float3 normals[2];
+ float4 tangent;
+ float3 binormal;
+ float3 localPos;
+ float3 worldPos;
+ float3 modelPos;
+ float3 tangentSpaceNormal;
+ float2 uv[5];
+ float4 vertexColor;
+ fixed3 barycentricCoordinates;
+ #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)
+ float4 lightmapUV;
+ #endif
+ float isFrontFace;
+ #ifdef FUR
+ float furAlpha;
+ #endif
+};
+struct PoiTangentData
+{
+ float3x3 tangentTransform;
+ float3x3 tangentToWorld;
+};
+struct FragmentCommonData
+{
+ half3 diffColor, specColor;
+ half oneMinusReflectivity, smoothness;
+ float3 normalWorld;
+ float3 eyeVec;
+ half alpha;
+ float3 posWorld;
+ #if UNITY_STANDARD_SIMPLE
+ half3 reflUVW;
+ #endif
+ #if UNITY_STANDARD_SIMPLE
+ half3 tangentSpaceNormal;
+ #endif
+};
+struct Debug
+{
+ float debug1;
+ float2 debug2;
+ float3 debug3;
+ float4 debug4;
+};
+struct PoiMods
+{
+ float4 audioLink;
+ fixed audioLinkTextureExists;
+ float4 globalMasks;
+ float audioLinkVersion;
+ float4 audioLinkTexture;
+};
+static Debug debug;
+static PoiLighting poiLight;
+static PoiCamera poiCam;
+static PoiMesh poiMesh;
+static PoiMods poiMods;
+static UnityGI gi;
+static FragmentCommonData s;
+static PoiTangentData poiTData;
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc.meta
new file mode 100644
index 00000000..45dfa635
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/CGI_Poicludes.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3d33807e3196f5248ba67b2bcc6b2a8a
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader
new file mode 100644
index 00000000..b3dda9f9
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader
@@ -0,0 +1,5454 @@
+Shader "Hidden/Locked/.poiyomi/★ Poiyomi Pro ★/619521d0daf09ec4d97f374ea6bba1e9"
+{
+ Properties
+ {
+ [HideInInspector] shader_is_using_thry_editor ("", Float) = 0
+ [HideInInspector] shader_master_label ("<color=#E75898ff>Poiyomi Pro V7.3.046</color>", Float) = 0
+ [HideInInspector] shader_presets ("poiToonPresets", Float) = 0
+ [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0
+ [HideInInspector] footer_youtube ("youtube footer button", Float) = 0
+ [HideInInspector] footer_twitter ("twitter footer button", Float) = 0
+ [HideInInspector] footer_patreon ("patreon footer button", Float) = 0
+ [HideInInspector] footer_discord ("discord footer button", Float) = 0
+ [HideInInspector] footer_github ("github footer button", Float) = 0
+ [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1
+ [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0
+ [Helpbox(1)] _LockTooltip ("Animations don't work by default when locked in. Right click a property if you want to animate it. The shader will lock in automatically at upload time.", Int) = 0
+ [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7)]_Mode("Rendering Preset--{on_value_actions:[
+ {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]},
+ {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]},
+ {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}
+ }]}]}", Int) = 0
+ [HideInInspector] m_mainOptions ("Main", Float) = 0
+ _Color ("Color & Alpha", Color) = (1, 1, 1, 1)
+ _MainTex ("Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MainTextureUV ("UV", Int) = 0
+ _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0
+ [Normal]_BumpMap ("Normal Map", 2D) = "bump" { }
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _BumpMapUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ _BumpScale ("Normal Intensity", Range(0, 10)) = 1
+ _ClippingMask ("Alpha Map--{reference_properties:[_ClippingMaskPan, _ClippingMaskUV, _Inverse_Clipping]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_ClippingMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _ClippingMaskUV ("UV", Int) = 0
+ [ToggleUI]_Inverse_Clipping ("Invert", Float) = 0
+ [HideInInspector] m_start_MainHueShift ("Color Adjust", Float) = 0
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MainColorAdjustTextureUV ("UV", Int) = 0
+ [ToggleUI]_MainHueShiftReplace ("Hue Replace?", Float) = 1
+ _MainHueShift ("Hue Shift", Range(0, 1)) = 0
+ _MainHueShiftSpeed ("Hue Shift Speed", Float) = 0
+ _Saturation ("Saturation", Range(-1, 10)) = 0
+ _MainBrightness("Brightness", Range(-1,1)) = 0
+ [HideInInspector][ThryToggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0
+ _MainColorAdjustTexture ("Mask R(H) G(S) B(B)--{reference_properties:[_MainColorAdjustTexturePan, _MainColorAdjustTextureUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_MainColorAdjustTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_start_RGBMask ("RGBA Color Masking", Float) = 0
+ [HideInInspector][ThryToggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0
+ [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0
+ [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0
+ _RGBMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RGBMaskUV ("UV", int) = 0
+ _RedColor ("R Color", Color) = (1, 1, 1, 1)
+ _RedTexure ("R Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RGBRed_UV ("UV", int) = 0
+ _GreenColor ("G Color", Color) = (1, 1, 1, 1)
+ _GreenTexture ("G Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RGBGreen_UV ("UV", int) = 0
+ _BlueColor ("B Color", Color) = (1, 1, 1, 1)
+ _BlueTexture ("B Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RGBBlue_UV ("UV", int) = 0
+ _AlphaColor ("A Color", Color) = (1, 1, 1, 1)
+ _AlphaTexture ("A Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_RGBAlphaPanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RGBAlpha_UV ("UV", int) = 0
+ [ThryToggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0
+ [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0
+ [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RgbNormalRUV ("UV", int) = 0
+ _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0
+ [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RgbNormalGUV ("UV", int) = 0
+ _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0
+ [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RgbNormalBUV ("UV", int) = 0
+ _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0
+ [Normal]_RgbNormalA ("A Normal--{reference_properties:[_RgbNormalAPan, _RgbNormalAUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_RgbNormalAPan ("Pan", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_RgbNormalAUV ("UV", int) = 0
+ _RgbNormalAScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0
+ [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0
+ [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_help:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube}}", Float) = 0
+ [HideInInspector][ThryToggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0
+ _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { }
+ [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DetailMaskUV ("UV", Int) = 0
+ _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1)
+ _DetailTex ("Detail Texture", 2D) = "gray" { }
+ [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DetailTexUV ("UV", Int) = 0
+ _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1
+ _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1
+ [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { }
+ _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1
+ [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DetailNormalMapUV ("UV", Int) = 0
+ [HideInInspector] m_end_DetailOptions ("Details", Float) = 0
+ [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0
+ [ToggleUI]_MainVertexColoringLinearSpace("Linear Colors", Float) = 1
+ _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0
+ _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0
+ [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0
+ [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_help:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube}}", Float) = 0
+ [HideInInspector][ThryToggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0
+ [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1)
+ [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1)
+ _VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1)
+ [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1)
+ _VertexManipulationHeight ("Vertex Height", Float) = 0
+ _VertexManipulationHeightMask ("Height Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0
+ _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0
+ [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0
+ _VertexRoundingDivision ("Division Amount", Float) = 500
+ [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0
+ [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0
+ _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5
+ [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0
+ _DitherGradient ("Dither Gradient", Range(0, 1)) = .1
+ [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0
+ _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0
+ [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0
+ [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0
+ _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25
+ [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0
+ _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0
+ [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0
+ [HideInInspector] m_start_DecalSection ("Decals--{button_help:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=xHoQVN_F7JE&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},reference_property:_DecalEnabled}", Float) = 0
+ _DecalMask ("Decal RGBA Mask--{reference_properties:[_DecalMaskPan, _DecalMaskUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DecalMaskUV ("UV", Int) = 0
+ [HideInInspector] m_start_Decal0 ("Decal 0", Float) = 0
+ [HideInInspector][ThryToggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0
+ _DecalColor ("Color", Color) = (1, 1, 1, 1)
+ _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ _DecalTexture ("Decal--{reference_properties:[_DecalTexturePan, _DecalTextureUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DecalTextureUV ("UV", Int) = 0
+ [ToggleUI]_DecalTiled ("Tiled?", Float) = 0
+ _Decal0Depth ("Depth", Float) = 0
+ [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0)
+ [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0)
+ _DecalRotation ("Rotation", Range(0, 360)) = 0
+ _DecalRotationSpeed ("Rotation Speed", Float) = 0
+ [ThryWideEnum(Replace, 0, Darken, 1, Multiply, 2, Color Burn, 3, Linear Burn, 4, Lighten, 5, Screen, 6, Color Dodge, 7, Linear Dodge (Add), 8, Overlay, 9, Soft Lighten, 10, Hard Light, 11, Vivid Light, 12, Linear Light, 13, Pin Light, 14, Hard Mix, 15, Difference, 16, Exclusion, 17, Subtract, 18, Divide, 19)]_DecalBlendType ("Blending", Range(0, 1)) = 0
+ _DecalBlendAlpha("Alpha", Range(0,1)) = 1
+ [ToggleUI]_DecalHueShiftEnabled ("Hue Shift Enabled", Float) = 0
+ _DecalHueShiftSpeed ("Shift Speed", Float) = 0
+ _DecalHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_start_Decal0AudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal0ScaleBand ("Scale Band", Int) = 0
+ _AudioLinkDecal0Scale("Scale Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal0RotationBand ("Rotation Band", Int) = 0
+ [Vector2]_AudioLinkDecal0Rotation("Rotation Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal0AlphaBand ("Alpha Band", Int) = 0
+ [Vector2]_AudioLinkDecal0Alpha("Alpha Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal0EmissionBand ("Emission Band", Int) = 0
+ [Vector2]_AudioLinkDecal0Emission("Emission Mod", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_Decal0AudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_Decal0 ("Decal 0", Float) = 0
+ [HideInInspector] m_start_Decal1 ("Decal 1--{reference_property:_DecalEnabled1}", Float) = 0
+ [HideInInspector][ThryToggle(GEOM_TYPE_BRANCH_DETAIL)]_DecalEnabled1 ("Enable", Float) = 0
+ _DecalColor1 ("Color", Color) = (1, 1, 1, 1)
+ _DecalEmissionStrength1 ("Emission Strength", Range(0, 20)) = 0
+ _DecalTexture1 ("Decal--{reference_properties:[_DecalTexture1Pan, _DecalTexture1UV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DecalTexture1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DecalTexture1UV ("UV", Int) = 0
+ [ToggleUI]_DecalTiled1 ("Tiled?", Float) = 0
+ _Decal1Depth ("Depth", Float) = 0
+ [Vector2]_DecalScale1 ("Scale", Vector) = (1, 1, 0, 0)
+ [Vector2]_DecalPosition1 ("Position", Vector) = (.5, .5, 0, 0)
+ _DecalRotation1 ("Rotation", Range(0, 360)) = 0
+ _DecalRotationSpeed1 ("Rotation Speed", Float) = 0
+ [ThryWideEnum(Replace, 0, Darken, 1, Multiply, 2, Color Burn, 3, Linear Burn, 4, Lighten, 5, Screen, 6, Color Dodge, 7, Linear Dodge (Add), 8, Overlay, 9, Soft Lighten, 10, Hard Light, 11, Vivid Light, 12, Linear Light, 13, Pin Light, 14, Hard Mix, 15, Difference, 16, Exclusion, 17, Subtract, 18, Divide, 19)]_DecalBlendType1 ("Blending", Range(0, 1)) = 0
+ _DecalBlendAlpha1("Alpha", Range(0,1)) = 1
+ [ToggleUI]_DecalHueShiftEnabled1 ("Hue Shift Enabled", Float) = 0
+ _DecalHueShiftSpeed1 ("Shift Speed", Float) = 0
+ _DecalHueShift1 ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_start_Decal1AudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal1ScaleBand ("Scale Band", Int) = 0
+ _AudioLinkDecal1Scale("Scale Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal1RotationBand ("Rotation Band", Int) = 0
+ [Vector2]_AudioLinkDecal1Rotation("Rotation Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal1AlphaBand ("Alpha Band", Int) = 0
+ [Vector2]_AudioLinkDecal1Alpha("Alpha Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal1EmissionBand ("Emission Band", Int) = 0
+ [Vector2]_AudioLinkDecal1Emission("Emission Mod", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_Decal1AudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_Decal1 ("Decal 0", Float) = 0
+ [HideInInspector] m_start_Decal2 ("Decal 2--{reference_property:_DecalEnabled2}", Float) = 0
+ [HideInInspector][ThryToggle(GEOM_TYPE_FROND)]_DecalEnabled2 ("Enable", Float) = 0
+ _DecalColor2 ("Color", Color) = (1, 1, 1, 1)
+ _DecalEmissionStrength2 ("Emission Strength", Range(0, 20)) = 0
+ _DecalTexture2 ("Decal--{reference_properties:[_DecalTexture2Pan, _DecalTexture2UV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DecalTexture2Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DecalTexture2UV ("UV", Int) = 0
+ [ToggleUI]_DecalTiled2 ("Tiled?", Float) = 0
+ _Decal2Depth ("Depth", Float) = 0
+ [Vector2]_DecalScale2 ("Scale", Vector) = (1, 1, 0, 0)
+ [Vector2]_DecalPosition2 ("Position", Vector) = (.5, .5, 0, 0)
+ _DecalRotation2 ("Rotation", Range(0, 360)) = 0
+ _DecalRotationSpeed2 ("Rotation Speed", Float) = 0
+ [ThryWideEnum(Replace, 0, Darken, 1, Multiply, 2, Color Burn, 3, Linear Burn, 4, Lighten, 5, Screen, 6, Color Dodge, 7, Linear Dodge (Add), 8, Overlay, 9, Soft Lighten, 10, Hard Light, 11, Vivid Light, 12, Linear Light, 13, Pin Light, 14, Hard Mix, 15, Difference, 16, Exclusion, 17, Subtract, 18, Divide, 19)]_DecalBlendType2 ("Blending", Range(0, 1)) = 0
+ _DecalBlendAlpha2("Alpha", Range(0,1)) = 1
+ [ToggleUI]_DecalHueShiftEnabled2 ("Hue Shift Enabled", Float) = 0
+ _DecalHueShiftSpeed2 ("Shift Speed", Float) = 0
+ _DecalHueShift2 ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_start_Decal2AudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal2ScaleBand ("Scale Band", Int) = 0
+ _AudioLinkDecal2Scale("Scale Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal2RotationBand ("Rotation Band", Int) = 0
+ [Vector2]_AudioLinkDecal2Rotation("Rotation Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal2AlphaBand ("Alpha Band", Int) = 0
+ [Vector2]_AudioLinkDecal2Alpha("Alpha Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal2EmissionBand ("Emission Band", Int) = 0
+ [Vector2]_AudioLinkDecal2Emission("Emission Mod", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_Decal2AudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_Decal2 ("Decal 0", Float) = 0
+ [HideInInspector] m_start_Decal3 ("Decal 3--{reference_property:_DecalEnabled3}", Float) = 0
+ [HideInInspector][ThryToggle(DEPTH_OF_FIELD_COC_VIEW)]_DecalEnabled3 ("Enable", Float) = 0
+ _DecalColor3 ("Color", Color) = (1, 1, 1, 1)
+ _DecalEmissionStrength3 ("Emission Strength", Range(0, 20)) = 0
+ _DecalTexture3 ("Decal--{reference_properties:[_DecalTexture3Pan, _DecalTexture3UV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DecalTexture3Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DecalTexture3UV ("UV", Int) = 0
+ [ToggleUI]_DecalTiled3 ("Tiled?", Float) = 0
+ _Decal3Depth ("Depth", Float) = 0
+ [Vector2]_DecalScale3 ("Scale", Vector) = (1, 1, 0, 0)
+ [Vector2]_DecalPosition3 ("Position", Vector) = (.5, .5, 0, 0)
+ _DecalRotation3 ("Rotation", Range(0, 360)) = 0
+ _DecalRotationSpeed3 ("Rotation Speed", Float) = 0
+ [ThryWideEnum(Replace, 0, Darken, 1, Multiply, 2, Color Burn, 3, Linear Burn, 4, Lighten, 5, Screen, 6, Color Dodge, 7, Linear Dodge (Add), 8, Overlay, 9, Soft Lighten, 10, Hard Light, 11, Vivid Light, 12, Linear Light, 13, Pin Light, 14, Hard Mix, 15, Difference, 16, Exclusion, 17, Subtract, 18, Divide, 19)]_DecalBlendType3 ("Blending", Range(0, 1)) = 0
+ _DecalBlendAlpha3("Alpha", Range(0,1)) = 1
+ [ToggleUI]_DecalHueShiftEnabled3 ("Hue Shift Enabled", Float) = 0
+ _DecalHueShiftSpeed3 ("Shift Speed", Float) = 0
+ _DecalHueShift3 ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_start_Decal3AudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal3ScaleBand ("Scale Band", Int) = 0
+ _AudioLinkDecal3Scale("Scale Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal3RotationBand ("Rotation Band", Int) = 0
+ [Vector2]_AudioLinkDecal3Rotation("Rotation Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal3AlphaBand ("Alpha Band", Int) = 0
+ [Vector2]_AudioLinkDecal3Alpha("Alpha Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDecal3EmissionBand ("Emission Band", Int) = 0
+ [Vector2]_AudioLinkDecal3Emission("Emission Mod", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_Decal3AudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_Decal3 ("Decal 0", Float) = 0
+ [HideInInspector] m_end_DecalSection ("Decal", Float) = 0
+ [HideInInspector] m_start_backFace ("Back Face", Float) = 0
+ [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0
+ _BackFaceColor ("Color", Color) = (1, 1, 1, 1)
+ _BackFaceTexture ("Texture", 2D) = "white" { }
+ [ToggleUI]_BackFaceReplaceAlpha ("Replace Alpha", Float) = 0
+ [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)]_BackFaceTextureUV ("UV#", Int) = 0
+ _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1
+ _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0
+ _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [HideInInspector] m_end_backFace ("Back Face", Float) = 0
+ [HideInInspector] m_lightingOptions ("Lighting", Float) = 0
+ [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0
+ [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1
+ [Enum(Toon, 0, Realistic, 1, Wrapped (Beta), 2, Skin (Beta), 3, Flat, 4)] _LightingMode ("Lighting Type", Int) = 4
+ _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0
+ _LightingWrappedWrap ("Wrap--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==2}}", Range(0, 2)) = 0
+ _LightingWrappedNormalization ("Normalization--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==2}}", Range(0, 1)) = 0
+ [Enum(Ramp Texture, 0, Math Gradient, 1, Shade Mapping, 2)] _LightingRampType ("Ramp Type--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}}}}", Int) = 0
+ _1st_ShadeColor ("1st ShadeColor--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Color) = (1,1,1,1)
+ _1st_ShadeMap ("1st ShadeMap--{reference_properties:[_1st_ShadeMapPan, _1st_ShadeMapUV, _Use_1stShadeMapAlpha_As_ShadowMask, _1stShadeMapMask_Inverse],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", 2D) = "white" {}
+ [HideInInspector][Vector2]_1st_ShadeMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _1st_ShadeMapUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_Use_1stShadeMapAlpha_As_ShadowMask("1st ShadeMap.a As ShadowMask", Float ) = 0
+ [HideInInspector][ToggleUI]_1stShadeMapMask_Inverse("1st ShadeMapMask Inverse", Float ) = 0
+ [ToggleUI] _Use_BaseAs1st ("Use BaseMap as 1st ShadeMap--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}}", Float ) = 0
+ _2nd_ShadeColor ("2nd ShadeColor--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Color) = (1,1,1,1)
+ _2nd_ShadeMap ("2nd ShadeMap--{reference_properties:[_2nd_ShadeMapPan, _2nd_ShadeMapUV, _Use_2ndShadeMapAlpha_As_ShadowMask, _2ndShadeMapMask_Inverse],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", 2D) = "white" {}
+ [HideInInspector][Vector2]_2nd_ShadeMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _2nd_ShadeMapUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_Use_2ndShadeMapAlpha_As_ShadowMask("2nd ShadeMap.a As ShadowMask", Float ) = 0
+ [HideInInspector][ToggleUI]_2ndShadeMapMask_Inverse("2nd ShadeMapMask Inverse", Float ) = 0
+ [ToggleUI] _Use_1stAs2nd ("Use 1st ShadeMap as 2nd_ShadeMap--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Float ) = 0
+ _BaseColor_Step ("BaseColor_Step--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Range(0.01, 1)) = 0.5
+ _BaseShade_Feather ("Base/Shade_Feather--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Range(0.0001, 1)) = 0.0001
+ _ShadeColor_Step ("ShadeColor_Step--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Range(0.01, 1)) = 0
+ _1st2nd_Shades_Feather ("1st/2nd_Shades_Feather--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==2}}}", Range(0.0001, 1)) = 0.0001
+ [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}", 2D) = "white" { }
+ _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}}}", 2D) = "white" { }
+ [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _LightingShadowMaskUV ("UV", Int) = 0
+ _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0
+ _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}", Range(0, 1)) = 0
+ _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingMode==2}},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}", Range(0, 1)) = .5
+ _SkinLUT ("LUT--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==3}}", 2D) = "white" {}
+ _SssScale ("Scale--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==3}}", Range(0,1)) = 1
+ [HideInInspector]_SssBumpBlur ("Bump Blur--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==3}}", Range(0,1)) = 0.7
+ [HideInInspector][Vector3]_SssTransmissionAbsorption ("Absorption--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==3}}", Vector) = (-8,-40,-64,0)
+ [HideInInspector][Vector3]_SssColorBleedAoWeights ("AO Color Bleed--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==3}}", Vector) = (0.4,0.15,0.13,0)
+ _LightingShadowColor ("Shadow Tint--{reference_property:_LightingDetailShadowsEnabled, condition_showS:(_LightingMode==0&&_LightingRampType!=2)||_LightingMode==2||_LightingMode==3}", Color) = (1, 1, 1, 1)
+ _ShadowStrength ("Shadow Strength--{condition_showS:(_LightingMode==0&&_LightingRampType!=2)||_LightingMode==2}", Range(0, 1)) = 1
+ _AttenuationMultiplier ("Receive Casted Shadows--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode!=4}}", Range(0, 1)) = 0
+ [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode!=4},condition2:{type:PROPERTY_BOOL,data:_LightingMode!=1}}}", Float) = 0
+ [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0
+ [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0
+ [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0
+ [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0
+ [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0
+ _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0
+ _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0
+ _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0
+ [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0
+ [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled, condition_show:{type:PROPERTY_BOOL,data:_LightingMode!=4}}", Float) = 0
+ [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0
+ _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _LightingDetailShadowsUV ("UV", Int) = 0
+ _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1
+ [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0
+ [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0
+ [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0
+ _LightingAOTex ("AO Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _LightingAOTexUV ("UV", Int) = 0
+ _AOStrength ("AO Strength", Range(0, 1)) = 1
+ [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0
+ [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0
+ [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0
+ _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1
+ _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5
+ _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5
+ _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5
+ [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0
+ [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_LightingAdditiveEnable,button_help:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0
+ [HideInInspector][ToggleUI]_LightingAdditiveEnable ("Enable Additive", Float) = 1
+ [Enum(Realistic, 0, Toon, 1, Wrapped, 2)] _LightingAdditiveType ("Lighting Type", Int) = 1
+ _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0
+ _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5
+ _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5
+ _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1
+ [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0
+ _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1
+ [ThryToggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1
+ [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0
+ [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0
+ [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0
+ [ThryToggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0
+ _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1)
+ _SSSThicknessMap ("Thickness Map--{reference_properties:[_SSSThicknessMapPan, _SSSThicknessMapUV]}", 2D) = "black" { }
+ [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SSSThicknessMapUV ("UV", Int) = 0
+ _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0
+ _SSSSCale ("Light Strength", Range(0, 1)) = 0.25
+ _SSSPower ("Light Spread", Range(1, 100)) = 5
+ _SSSDistortion ("Light Distortion", Range(0, 1)) = 1
+ [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0
+ [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0
+ [ThryToggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0
+ [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1
+ [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0
+ _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1)
+ _RimWidth ("Rim Width", Range(0, 1)) = 0.8
+ _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25
+ _RimStrength ("Rim Emission", Range(0, 20)) = 0
+ _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0
+ _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 1
+ _RimTex ("Rim Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _RimTexUV ("UV", Int) = 0
+ _RimMask ("Rim Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _RimMaskUV ("UV", Int) = 0
+ [HideInInspector] m_start_rimHueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_RimHueShiftEnabled ("Enabled", Float) = 0
+ _RimHueShiftSpeed ("Shift Speed", Float) = 0
+ _RimHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_rimHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0
+ _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { }
+ [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0
+ _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1
+ [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0
+ [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0
+ _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0
+ _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5
+ _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5
+ [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0
+ [HideInInspector] m_start_RimAudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkRimWidthBand ("Width Add Band", Int) = 0
+ [Vector2] _AudioLinkRimWidthAdd ("Width Add (XMin, YMax)", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkRimEmissionBand ("Emission Add Band", Int) = 0
+ [Vector2] _AudioLinkRimEmissionAdd ("Emission Add (XMin, YMax)", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkRimBrightnessBand ("Brightness Band", Int) = 0
+ [Vector2] _AudioLinkRimBrightnessAdd ("Brightness Add (XMin, YMax)", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_RimAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0
+ [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0
+ [ThryToggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0
+ _RimEnviroMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _RimEnviroMaskUV ("UV", Int) = 0
+ _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7
+ _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45
+ _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0
+ _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0
+ _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1
+ [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0
+ [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0
+ _SpecularLMOcclusion("Specular Occlusion", Range(0,1)) = 0
+ _SpecLMOcclusionAdjust("Spec Occlusion Sensitiviy", Range(0,1)) = 0.2
+ _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1
+ [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown
+ [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown
+ [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0
+ [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0
+ [HideInInspector] m_start_brdf ("Metallics & Specular--{reference_property:_EnableBRDF}", Float) = 0
+ [HideInInspector][ThryToggle(VIGNETTE_CLASSIC)]_EnableBRDF ("Enable", Float) = 0
+ _BRDFMetallicGlossMap ("Metallic Gloss Map--{reference_properties:[_BRDFMetallicGlossMapPan, _BRDFMetallicGlossMapUV, _BRDFInvertGlossiness, _BRDFMetallicGlossMapToolTip]}", 2D) = "white" { }
+ [HideInInspector][Helpbox(1)] _BRDFMetallicGlossMapToolTip ("R = Metallic, G = Reflectance, A = Glossiness/Smoothness/Inverse Roughness", Int) = 0
+ [HideInInspector][ToggleUI]_BRDFInvertGlossiness ("Invert Glossiness", Float) = 0
+ [HideInInspector][Vector2]_BRDFMetallicGlossMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _BRDFMetallicGlossMapUV ("UV", Int) = 0
+ _BRDFSpecularMap ("Specular Tint/Mask--{reference_properties:[_BRDFSpecularMapPan, _BRDFSpecularMapUV, _BRDFSpecularMapToolTip]}", 2D) = "white" { }
+ [HideInInspector][Helpbox(1)] _BRDFSpecularMapToolTip ("RGB = Color, A = Mask", Int) = 0
+ [HideInInspector][Vector2]_BRDFSpecularMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _BRDFSpecularMapUV ("UV", Int) = 0
+ _BRDFMetallicMap ("Metallic Tint/Mask--{reference_properties:[_BRDFMetallicMapPan, _BRDFMetallicMapUV, _BRDFMetallicMapToolTip]}", 2D) = "white" { }
+ [HideInInspector][Helpbox(1)] _BRDFMetallicMapToolTip ("RGB = Color, A = Mask", Int) = 0
+ [HideInInspector][Vector2]_BRDFMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _BRDFMetallicMapUV ("UV", Int) = 0
+ _BRDFMetallic ("Metallic", Range(0,1)) = 0
+ _BRDFGlossiness ("Glossiness", Range(0,1)) = 0
+ _BRDFReflectance ("Reflectance", Range(0,1)) = .5
+ _BRDFAnisotropy ("Anisotropy", Range(-1,1)) = 0
+ _BRDFMetallicSpecIgnoresBaseColor("Spec Ignores Base Color", Range(0,1)) = 0
+ [ToggleUI]_BRDFReflectionsEnabled ("Enable Reflections", Float) = 1
+ [ToggleUI]_BRDFSpecularEnabled ("Enable Specular", Float) = 1
+ _BRDFFallback ("Fallback Reflection", Cube) = "" { }
+ [ToggleUI]_BRDFForceFallback ("Force Fallback Reflection", Range(0, 1)) = 0
+ [HideInInspector] m_end_brdf ("Baked Lighting", Float) = 0
+ [HideInInspector] m_start_Metallic ("Metallicsa", Float) = 0
+ [ThryToggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0
+ _CubeMap ("Baked CubeMap", Cube) = "" { }
+ [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0
+ _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1)
+ _MetallicTintMap ("Tint Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MetallicTintMapUV ("UV", Int) = 0
+ _MetallicMask ("Metallic Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MetallicMaskUV ("UV", Int) = 0
+ _Metallic ("Metallic", Range(0, 1)) = 0
+ _SmoothnessMask ("Smoothness Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SmoothnessMaskUV ("UV", Int) = 0
+ [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0
+ _Smoothness ("Smoothness", Range(0, 1)) = 0
+ [HideInInspector] m_end_Metallic ("Metallics", Float) = 0
+ [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0
+ [ThryToggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0
+ _ClearcoatMap ("Clear Coat Map--{reference_properties:[_ClearcoatMapPan, _ClearcoatMapUV, _ClearcoatInvertSmoothness, _ClearcoatHelpBox]}", 2D) = "white" { }
+ [HideInInspector][Helpbox(1)] _ClearcoatHelpBox ("R = Clear Coat Map, G = Specular Mask, B = Reflection Mask, A = Glossiness/Smoothness/Inverse Roughness", Int) = 0
+ [HideInInspector][Vector2]_ClearcoatMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _ClearcoatMapUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_ClearcoatInvertSmoothness ("Invert Smoothness", Range(0, 1)) = 0
+ _Clearcoat ("Clear Coat", Range(0, 1)) = 1
+ _ClearcoatGlossiness ("Smoothness", Range(0, 1)) = 0
+ _ClearcoatAnisotropy ("Anisotropy", Range(-1, 1)) = 0
+ [ToggleUI]_ClearcoatEnableReflections ("Enable Reflections", Range(0, 1)) = 1
+ [ToggleUI]_ClearcoatEnableSpecular ("Enable Specular", Range(0, 1)) = 1
+ _ClearcoatFallback ("Fallback CubeMap", Cube) = "" { }
+ [ToggleUI]_ClearcoatForceFallback ("Force Fallback Cubemap", Range(0, 1)) = 0
+ [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0
+ [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0
+ [ThryToggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0
+ _MatcapColor ("Color", Color) = (1, 1, 1, 1)
+ [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { }
+ _MatcapBorder ("Border", Range(0, .5)) = 0.43
+ _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MatcapMaskUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0
+ _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ _MatcapIntensity ("Intensity", Range(0, 5)) = 1
+ _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0
+ _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1
+ _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0
+ _MatcapAdd ("Add Matcap", Range(0, 1)) = 0
+ [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1
+ [HideInInspector] m_start_matcapHueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_MatcapHueShiftEnabled ("Enabled", Float) = 0
+ _MatcapHueShiftSpeed ("Shift Speed", Float) = 0
+ _MatcapHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_matcapHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_end_matcap ("Matcap", Float) = 0
+ [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0
+ [ThryToggle(COLOR_GRADING_HDR_3D)]_Matcap2Enable ("Enable Matcap 2", Float) = 0
+ _Matcap2Color ("Color", Color) = (1, 1, 1, 1)
+ [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { }
+ _Matcap2Border ("Border", Range(0, .5)) = 0.43
+ _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _Matcap2MaskUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0
+ _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ _Matcap2Intensity ("Intensity", Range(0, 5)) = 1
+ _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0
+ _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0
+ _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0
+ _Matcap2Add ("Add Matcap", Range(0, 1)) = 0
+ [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1
+ [HideInInspector] m_start_matcap2HueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_Matcap2HueShiftEnabled ("Enabled", Float) = 0
+ _Matcap2HueShiftSpeed ("Shift Speed", Float) = 0
+ _Matcap2HueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_matcap2HueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0
+ [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0
+ [ThryToggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0
+ [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1
+ [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1
+ _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1)
+ _SpecularMetallic ("Metallic", Range(0, 1)) = 0
+ _SpecularMaxBrightness("Max Light Brightness", Float) = 0
+ [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMetallicMapUV ("UV", Int) = 0
+ _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1
+ [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMapUV ("UV", Int) = 0
+ [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0
+ _SpecularMask ("Specular Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMaskUV ("UV", Int) = 0
+ [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1
+ [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0
+ _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1
+ _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1
+ _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0
+ _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0
+ [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0
+ _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _AnisoTangentMapUV ("UV", Int) = 0
+ _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95
+ _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1
+ [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0
+ [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { }
+ _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0
+ [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0
+ [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { }
+ _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0
+ [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0
+ [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1)
+ [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0
+ [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0
+ [ThryToggle(DITHERING)]_EnableSpecular1 ("Enable Specular", Float) = 0
+ [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1
+ [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1
+ _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1)
+ _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0
+ _SpecularMaxBrightness1("Max Light Brightness", Float) = 0
+ [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0
+ _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75
+ _SpecularMap1 ("Specular Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMap1UV ("UV", Int) = 0
+ [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0
+ _SpecularMask1 ("Specular Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularMask1UV ("UV", Int) = 0
+ [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1
+ [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0
+ _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1
+ _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1
+ _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0
+ _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0
+ [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0
+ _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { }
+ [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _AnisoTangentMap1UV ("UV", Int) = 0
+ _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95
+ _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1
+ [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0
+ [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { }
+ _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0
+ [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0
+ [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { }
+ _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0
+ [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0
+ [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1)
+ [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0
+ [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0
+ [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0
+ [ThryToggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0
+ [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0
+ [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1)
+ [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { }
+ [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0
+ [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _EmissionMapUV ("UV", Int) = 0
+ _EmissionMask ("Emission Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _EmissionMaskUV ("UV", Int) = 0
+ _EmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0
+ _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0
+ _EmissionHueShiftSpeed ("Hue Shift Speed", Float) = 0
+ [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0
+ [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0
+ _EmissionCenterOutSpeed ("Flow Speed", Float) = 5
+ [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0
+ [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0
+ [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0
+ [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0
+ _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1
+ _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0
+ _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0
+ _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1
+ [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0
+ [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0
+ [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0
+ _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0
+ _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1
+ _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4
+ _EmissionBlinkingOffset ("Offset", Float) = 0
+ [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0
+ [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0
+ [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0
+ [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0
+ [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { }
+ [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0
+ _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0)
+ _EmissiveScroll_Width ("Width", Float) = 10
+ _EmissiveScroll_Velocity ("Velocity", Float) = 10
+ _EmissiveScroll_Interval ("Interval", Float) = 20
+ _EmissionScrollingOffset ("Offset", Float) = 0
+ [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0
+ [HideInInspector] m_start_EmissionAudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [ToggleUI] _EnableEmissionStrengthAudioLink ("multiply Emission Strength", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmissionStrengthBand ("Emission Strength Band", Int) = 0
+ [ToggleUI] _EnableEmissionCenterOutAudioLink ("Center Out multipy", Float) = 0
+ _EmissionCenterOutAudioLinkWidth("C Out Mul Duration", Range(0,1)) = 1
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmissionCenterOutBand ("Center Out M Band", Int) = 0
+ [Vector2] _EmissionCenterOutAddAudioLink ("Center Out Add", Vector) = (0,0,0,0)
+ _EmissionCenterOutAddAudioLinkwidth("C Out Add Duration", Range(0,1)) = 1
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmissionCenterOutAddBand ("Center Out A Band", Int) = 0
+ [Vector2]_AudioLinkAddEmission ("Emission Strength Add", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkAddEmissionBand ("Emission Add Band", Int) = 0
+ [HideInInspector] m_end_EmissionAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0
+ [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0
+ [ThryToggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0
+ [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1)
+ [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { }
+ [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0
+ [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _EmissionMap1UV ("UV", Int) = 0
+ _EmissionMask1 ("Emission Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _EmissionMask1UV ("UV", Int) = 0
+ _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0
+ [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0
+ _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0
+ _EmissionHueShiftSpeed1 ("Hue Shift Speed", Float) = 0
+ [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0
+ [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0
+ _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5
+ [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0
+ [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0
+ [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0
+ [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0
+ _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1
+ _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0
+ _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0
+ _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1
+ [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0
+ [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0
+ [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0
+ _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0
+ _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1
+ _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4
+ _EmissionBlinkingOffset1 ("Offset", Float) = 0
+ [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0
+ [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0
+ [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0
+ [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0
+ [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { }
+ [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0
+ _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0)
+ _EmissiveScroll_Width1 ("Width", Float) = 10
+ _EmissiveScroll_Velocity1 ("Velocity", Float) = 10
+ _EmissiveScroll_Interval1 ("Interval", Float) = 20
+ _EmissionScrollingOffset1 ("Offset", Float) = 0
+ [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0
+ [HideInInspector] m_start_Emission1AudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [ToggleUI] _EnableEmission1StrengthAudioLink ("Emission Strength", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmission1StrengthBand ("Emission Strength Band", Int) = 0
+ [ToggleUI] _EnableEmission1CenterOutAudioLink ("Center Out multipy", Float) = 0
+ _Emission1CenterOutAudioLinkWidth("C Out Mul Duration", Range(0,1)) = 1
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmission1CenterOutBand ("Center Out Band", Int) = 0
+ [Vector2] _EmissionCenterOutAddAudioLink1 ("Center Out Add", Vector) = (0,0,0,0)
+ _Emission1CenterOutAddAudioLinkwidth("C Out Add Duration", Range(0,1)) = 1
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkEmission1CenterOutAddBand ("Center Out A Band", Int) = 0
+ [Vector2]_AudioLinkAddEmission1 ("Emission Strength Add", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkAddEmission1Band ("Emission Add Band", Int) = 0
+ [HideInInspector] m_end_Emission1AudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0
+ [HideInInspector] m_start_pathing ("Pathing--{reference_property: _EnablePathing}", Float) = 0
+ [HideInInspector][ThryToggle(TONEMAPPING_CUSTOM)] _EnablePathing ("Enable Pathing", Float) = 0
+ _PathingMap ("RGB Path Map | A Mask--{reference_properties:[_PathingMapPan, _PathingMapUV]}", 2D) = "white" { }
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _PathingMapUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_PathingMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ _PathingColorMap ("RGB Color | A Mask--{reference_properties:[_PathingColorMapPan, _PathingColorMapUV]}", 2D) = "white" { }
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _PathingColorMapUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_PathingColorMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [Enum(Fill, 0, Path, 1, Loop, 2)]_PathTypeR ("R Path Type", Float) = 0
+ [Enum(Fill, 0, Path, 1, Loop, 2)]_PathTypeG ("G Path Type", Float) = 0
+ [Enum(Fill, 0, Path, 1, Loop, 2)]_PathTypeB ("B Path Type", Float) = 0
+ [HDR]_PathColorR ("R Color", Color) = (1, 1, 1)
+ [HDR]_PathColorG ("G Color", Color) = (1, 1, 1)
+ [HDR]_PathColorB ("B Color", Color) = (1, 1, 1)
+ [Vector3]_PathEmissionStrength ("Emission Strength", Vector) = (0.0, 0.0, 0.0, 1)
+ [Vector3]_PathSoftness ("Softness", Vector) = (1, 1, 1, 1)
+ [Vector3]_PathSpeed ("Speed", Vector) = (1.0, 1.0, 1.0, 1)
+ [Vector3]_PathWidth ("Length", Vector) = (0.03, 0.03, 0.03, 1)
+ [Header(Timing Options)]
+ [Vector3]_PathTime ("Manual Timing", Vector) = (-999.0, -999.0, -999.0, 1)
+ [Vector3]_PathOffset ("Timing Offset", Vector) = (0.0, 0.0, 0.0, 1)
+ [Vector3]_PathSegments ("Path Segments", Vector) = (0.0, 0.0, 0.0, 1)
+ [HideInInspector] m_start_PathAudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Header(Time Offset)]
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathTimeOffsetBandR ("Band R", Int) = 0
+ [Vector2]_AudioLinkPathTimeOffsetR ("Offset R", Vector) = (0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathTimeOffsetBandG ("Band G", Int) = 0
+ [Vector2]_AudioLinkPathTimeOffsetG ("Offset G", Vector) = (0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathTimeOffsetBandB ("Band B", Int) = 0
+ [Vector2]_AudioLinkPathTimeOffsetB ("Offset B", Vector) = (0, 0, 0)
+ [Header(Emission Offset)]
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathEmissionAddBandR ("Band R", Int) = 0
+ [Vector2]_AudioLinkPathEmissionAddR ("Emission R", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathEmissionAddBandG ("Band G", Int) = 0
+ [Vector2]_AudioLinkPathEmissionAddG ("Emission G", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathEmissionAddBandB ("Band B", Int) = 0
+ [Vector2]_AudioLinkPathEmissionAddB ("Emission B", Vector) = (0, 0, 0, 0)
+ [Header(Length Offset)]
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathWidthOffsetBandR ("Band R", Int) = 0
+ [Vector2]_AudioLinkPathWidthOffsetR ("Offset R", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathWidthOffsetBandG ("Band G", Int) = 0
+ [Vector2]_AudioLinkPathWidthOffsetG ("Offset G", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkPathWidthOffsetBandB ("Band B", Int) = 0
+ [Vector2]_AudioLinkPathWidthOffsetB ("Offset B", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_PathAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_pathing ("Pathing", Float) = 0
+ [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0
+ [ThryToggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0
+ [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0
+ [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0
+ [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0
+ [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { }
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _FlipbookTexArrayUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0)
+ _FlipbookMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _FlipbookMaskUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1)
+ _FlipbookTotalFrames ("Total Frames", Float) = 1
+ _FlipbookFPS ("FPS", Float) = 30.0
+ _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0)
+ [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0
+ _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ _FlipbookRotation ("Rotation", Range(0, 360)) = 0
+ _FlipbookRotationSpeed ("Rotation Speed", Float) = 0
+ _FlipbookReplace ("Replace", Range(0, 1)) = 1
+ _FlipbookMultiply ("Multiply", Range(0, 1)) = 0
+ _FlipbookAdd ("Add", Range(0, 1)) = 0
+ [HideInInspector] m_start_FlipbookAudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkFlipbookScaleBand ("Scale Band", Int) = 0
+ _AudioLinkFlipbookScale("Scale Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkFlipbookAlphaBand ("Alpha Band", Int) = 0
+ [Vector2]_AudioLinkFlipbookAlpha("Alpha Mod", Vector) = (1,1,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkFlipbookEmissionBand ("Emission Band", Int) = 0
+ [Vector2]_AudioLinkFlipbookEmission("Emission Mod", Vector) = (0,0,0,0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkFlipbookFrameBand ("Frame Band", Int) = 0
+ [Vector2]_AudioLinkFlipbookFrame("Frame control", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_FlipbookAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0
+ _FlipbookCurrentFrame ("Current Frame", Float) = -1
+ [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0
+ [HideInInspector] m_start_crossfade ("Crossfade", Float) = 0
+ [ToggleUI]_FlipbookCrossfadeEnabled("Enable Crossfade?", Float) = 0
+ [MultiSlider]_FlipbookCrossfadeRange ("Fade Range", Vector) = (0.75, 1, 0, 1)
+ [HideInInspector] m_end_crossfade ("Crossfade", Float) = 0
+ [HideInInspector] m_start_flipbookHueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_FlipbookHueShiftEnabled ("Enabled", Float) = 0
+ _FlipbookHueShiftSpeed ("Shift Speed", Float) = 0
+ _FlipbookHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_flipbookHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0
+ [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0
+ [ThryToggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0
+ [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1
+ _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025
+ _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5
+ _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1)
+ [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { }
+ _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0
+ _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1)
+ _DissolveToTexture ("Dissolved Texture", 2D) = "white" { }
+ [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DissolveToTextureUV ("UV", Int) = 0
+ _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0
+ _DissolveNoiseTexture ("Dissolve Gradient", 2D) = "white" { }
+ [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0
+ _DissolveDetailNoise ("Dissolve Noise", 2D) = "black" { }
+ [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0
+ _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1
+ _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0
+ _DissolveMask ("Dissolve Mask", 2D) = "white" { }
+ [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0
+ [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DissolveMaskUV ("UV", Int) = 0
+ [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0
+ _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0
+ [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0
+ [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2
+ [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2
+ [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0
+ [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0
+ [Enum(Local, 0, World, 1, Vertex Colors, 2)] _DissolveP2PWorldLocal ("World/Local", Int) = 0
+ _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1
+ [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0)
+ [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0)
+ [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0
+ [HideInInspector] m_start_dissolveHueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_DissolveHueShiftEnabled ("Dissolved Enabled", Float) = 0
+ _DissolveHueShiftSpeed ("Dissolved Speed", Float) = 0
+ _DissolveHueShift ("Dissolved Shift", Range(0,1)) = 0
+ [ToggleUI]_DissolveEdgeHueShiftEnabled ("Edge Enabled", Float) = 0
+ _DissolveEdgeHueShiftSpeed ("Edge Speed", Float) = 0
+ _DissolveEdgeHueShift ("Edge Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_dissolveHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0
+ _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0
+ _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0
+ _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0
+ _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0
+ _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0
+ _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0
+ _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0
+ _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0
+ _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0
+ _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0
+ [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0
+ [HideInInspector] m_start_dissolveAudioLink ("Audio Link ♫--{reference_property:_EnableDissolveAudioLink, condition_showS:_EnableAudioLink==1}", Float) = 0
+ [HideInInspector][ToggleUI] _EnableDissolveAudioLink ("Enabled?", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDissolveAlphaBand ("Dissolve Alpha Band", Int) = 0
+ [Vector2]_AudioLinkDissolveAlpha ("Dissolve Alpha Mod", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _AudioLinkDissolveDetailBand ("Dissolve Detail Band", Int) = 0
+ [Vector2]_AudioLinkDissolveDetail ("Dissolve Detail Mod", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_dissolveAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0
+ [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0
+ [ThryToggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0
+ [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0
+ _PanosphereColor ("Color", Color) = (1, 1, 1, 1)
+ _PanosphereTexture ("Texture", 2D) = "white" { }
+ _PanoMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _PanoMaskUV ("UV", Int) = 0
+ _PanoEmission ("Emission Strength", Range(0, 10)) = 0
+ _PanoBlend ("Alpha", Range(0, 1)) = 0
+ [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0)
+ [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0
+ [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { }
+ [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0
+ [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0
+ [ThryToggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0
+ [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0
+ [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0
+ [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0
+ [HDR]_GlitterColor ("Color", Color) = (1, 1, 1)
+ _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0
+ _GlitterColorMap ("Glitter Color Map", 2D) = "white" { }
+ [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _GlitterColorMapUV ("UV", Int) = 0
+ [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0)
+ _GlitterMask ("Glitter Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _GlitterMaskUV ("UV", Int) = 0
+ _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [Vector2]_GlitterUVPanning ("Panning Speed", Vector) = (0,0,0,0)
+ _GlitterTextureRotation ("Rotation Speed", Float) = 0
+ _GlitterFrequency ("Glitter Density", Float) = 300.0
+ _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0
+ _GlitterSpeed ("Glitter Speed", Float) = 10.0
+ _GlitterSize ("Glitter Size", Range(0, 1)) = .3
+ _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300
+ _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90
+ _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0
+ _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3
+ _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8
+ _GlitterHideInShadow("Hide in shadow", Range(0,1)) = 0
+ _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08
+ _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20
+ _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0
+ [HideInInspector] m_start_glitterHueShift ("Hue Shift", Float) = 0
+ [ToggleUI]_GlitterHueShiftEnabled ("Enabled", Float) = 0
+ _GlitterHueShiftSpeed ("Shift Speed", Float) = 0
+ _GlitterHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_end_glitterHueShift ("Hue Shift", Float) = 0
+ [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0
+ [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0
+ [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1)
+ [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1)
+ [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0
+ [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1)
+ [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0
+ [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0
+ [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0
+ [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0
+ _TextGlyphs ("Font Array", 2D) = "black" { }
+ _TextPixelRange ("Pixel Range", Float) = 4.0
+ [ThryToggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0
+ [HideInInspector] m_start_TextFPS ("FPS", Float) = 0
+ [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _TextFPSUV ("FPS UV", Int) = 0
+ _TextFPSColor ("Color", Color) = (1, 1, 1, 1)
+ _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0)
+ _TextFPSRotation ("Rotation", Range(0, 360)) = 0
+ [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1)
+ _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_TextFPS ("FPS", Float) = 0
+ [HideInInspector] m_start_TextPosition ("Position", Float) = 0
+ [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _TextPositionUV ("Position UV", Int) = 0
+ _TextPositionColor ("Color", Color) = (1, 0, 1, 1)
+ _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0)
+ _TextPositionRotation ("Rotation", Range(0, 360)) = 0
+ [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1)
+ _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_TextPosition ("Position", Float) = 0
+ [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0
+ [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _TextTimeUV ("Time UV", Int) = 0
+ _TextTimeColor ("Color", Color) = (1, 0, 1, 1)
+ _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0)
+ _TextTimeRotation ("Rotation", Range(0, 360)) = 0
+ [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1)
+ _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0
+ [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0
+ [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0
+ [ThryToggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0
+ [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0
+ [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0
+ _MirrorTexture ("Mirror Tex", 2D) = "white" { }
+ [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MirrorTextureUV ("UV", Int) = 0
+ [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0
+ [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0
+ _MainFadeTexture ("Fade Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _MainFadeTextureUV ("UV", Int) = 0
+ [Enum(Object Position, 0, Pixel Position, 1)] _MainFadeType ("Pos To Use", Int) = 1
+ _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0
+ _MainMaxAlpha ("Maximum Alpha", Range(0, 1)) = 1
+ _MainDistanceFadeMin ("Distance Min", Float) = 0
+ _MainDistanceFadeMax ("Distance Max", Float) = 0
+ [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0
+ [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0
+ [ThryToggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0
+ [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0
+ [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0
+ [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0)
+ _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45
+ _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90
+ _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45
+ _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90
+ _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0
+ [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0
+ [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0
+ [ThryToggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0
+ _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0
+ _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { }
+ _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { }
+ _DistortionStrength ("Strength1", Float) = 0.5
+ _DistortionStrength1 ("Strength2", Float) = 0.5
+ [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0)
+ [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0)
+ [HideInInspector] m_start_DistortionAudioLink ("Audio Link ♫--{reference_property:_EnableDistortionAudioLink, condition_showS:_EnableAudioLink==1}", Float) = 0
+ [HideInInspector][ToggleUI] _EnableDistortionAudioLink ("Enabled?", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _DistortionStrengthAudioLinkBand ("Strength 1 Band", Int) = 0
+ [Vector2]_DistortionStrengthAudioLink ("Strength 1 Offset Range", Vector) = (0, 0, 0, 0)
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _DistortionStrength1AudioLinkBand ("Strength 2 Band", Int) = 0
+ [Vector2]_DistortionStrength1AudioLink ("Strength 2 Offset Range", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_DistortionAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0
+ [HideInInspector] m_start_audioLink ("Audio Link--{reference_property:_EnableAudioLink}", Float) = 0
+ [HideInInspector][ThryToggle(COLOR_GRADING_LOG_VIEW)] _EnableAudioLink ("Enabled?", Float) = 0
+ [Helpbox(1)] _AudioLinkHelp ("This section houses the global controls for audio link. Controls for individual features are in their respective sections. (Emission, Dissolve, etc...)", Int) = 0
+ [ToggleUI] _AudioLinkAnimToggle ("Anim Toggle", Float) = 1
+ _AudioLinkDelay ("Delay", Range(0,1)) = 0
+ [ToggleUI]_AudioLinkAveraging ("Enable averaging", Float) = 0
+ _AudioLinkAverageRange ("Average Sampling Range", Range(0,1)) = .5
+ [HideInInspector] m_start_audioLinkDebug ("Debug--{reference_property:_EnableAudioLinkDebug}", Float) = 0
+ [HideInInspector][ToggleUI] _EnableAudioLinkDebug("Enable?", Float) = 0
+ _AudioLinkDebugTreble ("Treble", Range(0,1)) = 0
+ _AudioLinkDebugHighMid ("High Mid", Range(0,1)) = 0
+ _AudioLinkDebugLowMid ("Low Mid", Range(0,1)) = 0
+ _AudioLinkDebugBass ("Bass", Range(0,1)) = 0
+ [ToggleUI] _AudioLinkDebugAnimate ("Debug Animate", Float) = 0
+ [ToggleUI]_AudioLinkTextureVisualization("Visualize Texture", Float) = 0
+ [HideInInspector] m_end_audioLinkDebug ("Debug", Float) = 0
+ [HideInInspector] m_end_audioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_Patreon ("Patreon", Float) = 0
+ [HideInInspector] m_start_Video ("Video--{reference_property:_EnableVideo}", Float) = 0
+ [ThryToggle(BLOOM)] _EnableVideo ("Enable Video", Float) = 0
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _VideoUVNumber ("Screen UV#", Int) = 0
+ [Enum(LCD, 0, TN, 1, CRT, 2, OLED, 3, Gameboy, 4, Projector, 5)] _VideoType ("Screen Type", Int) = 3
+ _VideoBacklight ("Brightness", Range(0, 100)) = 1
+ [ToggleUI]_VideoEmissionEnabled ("Emission Enabled", Float) = 1
+ _VideoPixelTexture ("Pixel Texture", 2D) = "white" { }
+ [Vector2]_VideoResolution ("Resolution", Vector) = (1280, 720, 0)
+ _VideoMaskTexture ("Mask", 2D) = "white" { }
+ [Vector2]_VideoMaskPanning ("Mask Pan Speed", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_start_VideoSettings ("Video Texture Settings", Float) = 0
+ [ToggleUI]_VideoEnableVideoPlayer ("Enable Video Player", Float) = 0
+ [ToggleUI]_VideoPixelateToResolution ("Pixelate To Resolution", Float) = 0
+ [ToggleUI]_VideoRepeatVideoTexture ("Clamp To UV", Float) = 0
+ [Vector2]_VideoPanning ("Panning Speed", Vector) = (0, 0, 0, 0)
+ [Vector2]_VideoTiling ("Tiling", Vector) = (1, 1, 0, 0)
+ [Vector2]_VideoOffset ("Offset", Vector) = (0, 0, 0, 0)
+ _VideoSaturation ("Saturation", Range(-1, 3)) = 0
+ _VideoContrast ("Contrast boost", Range(0, 3)) = 0
+ [HideInInspector] m_end_VideoSettings ("Video Texture Settings", Float) = 0
+ [HideInInspector] m_start_VideoDebug ("Video Debug", Float) = 0
+ [ToggleUI]_VideoEnableDebug ("Enable Debug", Float) = 0
+ _VideoDebugTexture ("Video Debug Tex", 2D) = "white" { }
+ [HideInInspector] m_end_VideoDebug ("Video Debug", Float) = 0
+ [HideInInspector] m_start_CRT ("CRT Options", Float) = 0
+ _VideoCRTRefreshRate ("Refresh Rate", Float) = 24
+ _VideoCRTPixelEnergizedTime ("Pixel Fade Time", Float) = 1.9
+ [HideInInspector] m_end_CRT ("CRT Options", Float) = 0
+ [HideInInspector] m_start_Gameboy ("Gameboy Options", Float) = 0
+ [Gradient]_VideoGameboyRamp ("Color Ramp", 2D) = "white" { }
+ [HideInInspector] m_end_Gameboy ("Gameboy Options", Float) = 0
+ [HideInInspector] m_end_Video ("Video", Float) = 0
+ [HideInInspector] m_start_TouchOptions ("Touch FX", Float) = 0
+ [HideInInspector] m_start_Bulge ("Bulge--{reference_property:_EnableBulge}", Float) = 0
+ [ThryToggle(BLOOM_LOW)] _EnableBulge ("Bulge", Float) = 0
+ _BulgeMask ("Bulge Mask", 2D) = "white" { }
+ _BuldgeFadeLength ("Touch Distance", Float) = 0.02
+ _BuldgeHeight ("Bulge Height", Range(-0.2, 0.2)) = 0.02
+ [HideInInspector] m_end_Bulge ("Bulge", Float) = 0
+ [HideInInspector] m_start_TouchGlow ("Touch Color--{reference_property:_EnableTouchGlow}", Float) = 0
+ [HideInInspector][ThryToggle(GRAIN)]_EnableTouchGlow ("Enable Touch Color", Float) = 0
+ [Enum(Depth, 0, UVs, 1)] _DepthGradientTextureUV ("UVs From", Int) = 0
+ [Enum(Replace, 0, Add, 1, Multiply, 2)] _DepthGradientBlend ("Color Blend", Int) = 0
+ _DepthGlowColor ("Depth Glow Color", Color) = (1, 1, 1, 1)
+ [Gradient]_DepthGradient ("Depth Gradient--{reference_properties:[_DepthGradientPan, _DepthGradientUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DepthGradientPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DepthGradientUV ("UV", Int) = 0
+ _DepthMask ("Depth Mask--{reference_properties:[_DepthMaskPan, _DepthMaskUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_DepthMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _DepthMaskUV ("UV", Int) = 0
+ _DepthGlowEmission ("Depth Glow Emission", Float) = 3
+ _FadeLength ("Fade Length", Float) = 20
+ _DepthAlphaMin ("Alpha Min", Range(0, 1)) = 1
+ _DepthAlphaMax ("Alpha Max", Range(0, 1)) = 1
+ [HideInInspector] m_end_TouchGlow ("Touch Color", Float) = 0
+ [HideInInspector] m_end_TouchOptions ("Touch FX", Float) = 0
+ [HideInInspector] m_start_Hologram ("Hologram Alpha--{reference_property:_EnableHolo}", Float) = 0
+ [ThryToggle(DEPTH_OF_FIELD)]_EnableHolo ("Enable Hologram Alpha", Float) = 0
+ [Curve]_HoloAlphaMap ("Alpha Map", 2D) = "white" { }
+ [Enum(World Space, 0, Local Space, 1, UV, 2)]_HoloCoordinateSpace ("Coordinate Space", Int) = 0
+ _HoloDirection ("Scroll Direction", Vector) = (0, 1, 0)
+ _HoloLineDensity ("Line Density", Float) = 10
+ _HoloScrollSpeed ("Scroll Speed", Float) = 1
+ [HideInInspector] m_start_FresnelAlpha ("Fresnel Alpha", Float) = 0
+ _HoloFresnelAlpha ("Intensity", Range(0, 1)) = 0
+ _HoloRimSharpness ("Sharpness", Range(0, 1)) = .5
+ _HoloRimWidth ("Width", Range(0, 1)) = .5
+ [HideInInspector] m_end_FresnelAlpha ("Fresnel Alpha", Float) = 0
+ [HideInInspector] m_end_Hologram ("Hologram Alpha", Float) = 0
+ [HideInInspector] m_start_Iridescence ("Iridescence--{reference_property:_EnableIridescence}", Float) = 0
+ [ThryToggle(BLOOM_LENS_DIRT)]_EnableIridescence ("Enable Iridescence", Float) = 0
+ [Gradient]_IridescenceRamp ("Ramp", 2D) = "white" { }
+ _IridescencePanSpeed ("Pan", Float) = 0
+ _IridescenceOffset ("Offset", Float) = 0
+ [ToggleUI]_IridescenceNormalToggle ("Custom Normals?", Float) = 0
+ [Normal]_IridescenceNormalMap ("Normal Map", 2D) = "bump" { }
+ _IridescenceMask ("Mask", 2D) = "white" { }
+ _IridescenceNormalIntensity ("Normal Intensity", Range(0, 10)) = 1
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _IridescenceNormalUV ("Normal UV", Int) = 0
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _IridescenceMaskUV ("Mask UV", Int) = 0
+ [Enum(vertex, 0, pixel, 1)] _IridescenceNormalSelection ("Normal Select", Int) = 1
+ _IridescenceIntensity ("Intensity", Range(0, 10)) = 1
+ _IridescenceAddBlend ("Blend Add", Range(0, 1)) = 0
+ _IridescenceReplaceBlend ("Blend Replace", Range(0, 1)) = 0
+ _IridescenceMultiplyBlend ("Blend Multiply", Range(0, 1)) = 0
+ _IridescenceEmissionStrength ("Emission Strength", Range(0, 20)) = 0
+ [Enum(Run Early, 0, Run Late, 1)] _IridescenceTime ("When To Run", Int) = 0
+ [Header(Hue Shift)]
+ [ToggleUI]_IridescenceHueShiftEnabled ("Hue Shift Enabled", Float) = 0
+ _IridescenceHueShiftSpeed ("Shift Speed", Float) = 0
+ _IridescenceHueShift ("Hue Shift", Range(0,1)) = 0
+ [HideInInspector] m_start_IridescenceAudioLink ("Audio Link ♫--{ condition_showS:_EnableAudioLink==1}", Float) = 0
+ [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3)] _IridescenceAudioLinkEmissionBand ("Scale Band", Int) = 0
+ [Vector2]_IridescenceAudioLinkEmission("Scale Mod", Vector) = (0,0,0,0)
+ [HideInInspector] m_end_IridescenceAudioLink ("Audio Link", Float) = 0
+ [HideInInspector] m_end_Iridescence ("Iridescence", Float) = 0
+ [HideInInspector] m_start_VertexGlitch ("Vertex Glitching--{reference_property:_EnableVertexGlitch}", Float) = 0
+ [ToggleUI]_EnableVertexGlitch ("Enable Vertex Glitching", Float) = 0
+ _VertexGlitchFrequency ("Glitch Interval", Float) = 0
+ _VertexGlitchThreshold ("Glitch Threshold", Range(0, 1)) = 1
+ _VertexGlitchStrength ("Glitch Strength", Range(0, 10)) = 1
+ [HideInInspector] m_end_VertexGlitch ("Vertex Glitching", Float) = 0
+ [HideInInspector] m_start_Spawns ("Spawns", Float) = 0
+ [HideInInspector] m_start_ScifiSpawnIn ("Sci Fi--{reference_property:_EnableScifiSpawnIn}", Float) = 0
+ [HideInInspector][ToggleUI]_EnableScifiSpawnIn ("Enable Sci Fi Spawn", Float) = 0
+ _SpawnInNoise ("Spawn Noise", 2D) = "black" { }
+ _SpawnInNoiseIntensity ("Noise Intensity", Range(0, 1)) = .35
+ _SpawnInAlpha ("Spawn Alpha", Range(0, 1)) = 0
+ [Vector3]_SpawnInGradientStart ("Gradient Start", Vector) = (0, 2, 0)
+ [Vector3]_SpawnInGradientFinish ("Gradient End", Vector) = (0, -2, 0)
+ [HDR]_SpawnInEmissionColor ("Emission Color", Color) = (1, 1, 1)
+ _SpawnInEmissionOffset ("Emission Width", Range(0, 1)) = .1
+ _SpawnInVertOffset ("Vertex Offset Speed", Float) = 10
+ _SpawnInVertOffsetOffset ("vert width", Range(0, 1)) = .1
+ [HideInInspector] m_end_SciFiSpawnIn ("Sci Fi", Float) = 0
+ [HideInInspector] m_end_Spawns ("Spawns", Float) = 0
+ [HideInInspector] m_start_Voronoi ("Voronoi--{reference_property:_EnableVoronoi}", Float) = 0
+ [Enum(2D(Fast), 0, 3D(Fast with color bugs), 1, 3D(slow but no bugs), 2)] _VoronoiType ("Type", Int) = 1
+ [Enum(Local, 0, World, 1, UV, 2)] _VoronoiSpace ("Space", Int) = 0
+ [Enum(Color and Emission, 0, Just Emission, 1)] _VoronoiBlend ("Blend", Int) = 0
+ [ThryToggle(CHROMATIC_ABERRATION)]_EnableVoronoi ("Enable Voronoi", Float) = 0
+ [ToggleUI]_VoronoiEffectsMaterialAlpha("Effects Material Alpha", Float) = 0
+ _VoronoiMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_VoronoiMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _VoronoiMaskUV ("UV", Int) = 0
+ _VoronoiNoise ("Edge Noise", 2D) = "black" { }
+ [HideInInspector][Vector2]_VoronoiNoisePan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _VoronoiNoiseUV ("UV", Int) = 0
+ _VoronoiNoiseIntensity ("Noise Intensity", Range(0, 1)) = .1
+ _VoronoiColor0 ("Color 0", Color) = (0, 0, 0, 1)
+ _VoronoiEmission0 ("Emission 0", Range(0, 20)) = 0
+ _VoronoiColor1 ("Color 1", Color) = (1, 1, 1, 1)
+ _VoronoiEmission1 ("Emission 1", Range(0, 20)) = 0
+ [Vector2]_VoronoiGradient ("Gradient", Vector) = (.04, .05, 0, 0)
+ _VoronoiScale ("Scale", Float) = 5
+ [Vector3]_VoronoiSpeed ("Speed", Vector) = (3, 3, 3)
+ [HideInInspector] m_start_voronoiRandom ("Voronoi Random Cell Color--{reference_property:_VoronoiEnableRandomCellColor}", Float) = 0
+ [ToggleUI]_VoronoiEnableRandomCellColor ("Rando Cell Col", Float) = 0
+ [MultiSlider]_VoronoiRandomMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1)
+ [MultiSlider]_VoronoiRandomMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1)
+ [HideInInspector] m_end_voronoiRandom ("Voronoi Random Cell Color", Float) = 0
+ [HideInInspector] m_end_Voronoi ("Vertex Glitching", Float) = 0
+ [HideInInspector] m_start_BlackLight ("Black Light Mask--{reference_property:_BlackLightMaskEnabled}", Float) = 0
+ [HideInInspector][ThryToggle(_SPECULARHIGHLIGHTS_OFF)]_BlackLightMaskEnabled ("Black Light Mask Enabled", Float) = 0
+ _BlackLightMaskKeys ("Mask Keys", Vector) = (2, 3, 4, 5)
+ _BlackLightMaskStart ("Gradient Start", Vector) = (0, 0, 0, 0)
+ _BlackLightMaskEnd ("Gradient End", Vector) = (1, 1, 1, 1)
+ [ToggleUI]_BlackLightMaskDebug ("Visualize", Float) = 0
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskMetallic ("Metallic", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskClearCoat ("Clear Coat", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskMatcap ("Matcap 1", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskMatcap2 ("Matcap 2", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskEmission ("Emission 1", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskEmission2 ("Emission 2", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskFlipbook ("Flipbook", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskDissolve ("Dissolve", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskPanosphere ("Panosphere", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskGlitter ("Glitter", Int) = 4
+ [Enum(X, 0, Y, 1, Z, 2, W, 3, Off, 4)] _BlackLightMaskIridescence ("Iridescence", Int) = 4
+ [HideInInspector] m_end_BlackLight ("Black Light", Float) = 0
+ [HideInInspector] m_outlineOptions ("Outlines", Float) = 0
+ [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0
+ [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0
+ _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0
+ _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0
+ _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0)
+ _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0)
+ [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0
+ _OutlinesMaxDistance ("Fixed Size Max Distance", Float) = 9999
+ [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0
+ [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1
+ _LineWidth ("Width", Float) = 0
+ _LineColor ("Color", Color) = (1, 1, 1, 1)
+ _OutlineEmission ("Outline Emission", Float) = 0
+ _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _OutlineTextureUV ("UV", Int) = 0
+ _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { }
+ [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _OutlineMaskUV ("UV", Int) = 0
+ _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1
+ [Header(Hue Shift)]
+ [ToggleUI]_OutlineHueShift ("Hue Shift?", Float) = 0
+ _OutlineHueOffset ("Shift", Range(0, 1)) = 0
+ _OutlineHueOffsetSpeed ("Shift Speed", Float) = 0
+ [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0
+ [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0)
+ [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1
+ _OutlineOffsetFactor("Offset Factor", Float) = 0
+ _OutlineOffsetUnits("Offset Units", Float) = 0
+ [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0
+ [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0
+ [ThryToggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0
+ [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0
+ [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0
+ [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0
+ [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0)
+ [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0
+ _ParallaxHeightMap ("Height Map", 2D) = "black" { }
+ _ParallaxHeightMapMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0
+ _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0
+ [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0
+ [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0
+ [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0
+ [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0
+ _ParallaxInternalMap ("Internal Map", 2D) = "black" { }
+ _ParallaxInternalMapMask ("Mask", 2D) = "white" { }
+ [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0)
+ [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, distorteduv0, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0
+ _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1
+ _ParallaxInternalMinDepth ("Min Depth", Float) = 0
+ _ParallaxInternalMaxDepth ("Max Depth", Float) = 1
+ _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0
+ _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1
+ _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1)
+ _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1)
+ [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0)
+ [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0)
+ [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0
+ [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0
+ _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42
+ [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0
+ [HideInInspector] m_PostProcessing ("Post Processing", Float) = 0
+ [Helpbox(1)] _PPHelp ("This section is designed for you to make adjustments to your final look in game through animations not to permentantly change settings before uploading.", Int) = 0
+ _PPLightingMultiplier ("Lighting Mulitplier", Float) = 1
+ _PPEmissionMultiplier ("Emission Multiplier", Float) = 1
+ [HideInInspector] m_thirdparty ("Third Party", Float) = 0
+ [HideInInspector] m_start_raliv ("Raliv Dynamic Penetration System--{button_help:{text:Gumroad,action:{type:URL,data:https://gumroad.com/l/lwthuB},hover:Buy}}", Float) = 0
+ [Helpbox(1)] _RalivHelp ("To use this you'll need to purchase the shader from the gumroad link in the header", Int) = 0
+ [HideInInspector] m_start_ralivPenetrator ("Penetrator--{reference_property:_PenetratorEnabled}", Float) = 0
+ [HideInInspector][ToggleUI] _PenetratorEnabled ("Enabled", Float) = 0
+ _squeeze("Squeeze Minimum Size", Range( 0 , 0.2)) = 0
+ _SqueezeDist("Squeeze Smoothness", Range( 0 , 0.1)) = 0
+ _BulgePower("Bulge Amount", Range( 0 , 0.01)) = 0
+ _BulgeOffset("Bulge Length", Range( 0 , 0.3)) = 0
+ _Length("Length of Penetrator Model", Range( 0 , 3)) = 0
+ _EntranceStiffness("Entrance Stiffness", Range( 0.01 , 1)) = 0.01
+ _Curvature("Curvature", Range( -1 , 1)) = 0
+ _ReCurvature("ReCurvature", Range( -1 , 1)) = 0
+ _Wriggle("Wriggle Amount", Range( 0 , 1)) = 0
+ _WriggleSpeed("Wriggle Speed", Range( 0.1 , 30)) = 0.28
+ [HideInInspector] __dirty( "", Int ) = 1
+ [HideInInspector] m_end_ralivPenetrator ("Penetrator", Float) = 0
+ [HideInInspector] m_start_ralivOriface ("Oriface--{reference_property:_OrifaceEnabled}", Float) = 0
+ [HideInInspector][ToggleUI] _OrifaceEnabled ("Enabled", Float) = 0
+ _OrificeData("OrificeData", 2D) = "white" {}
+ _EntryOpenDuration("Entry Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape1Depth("Shape 1 Trigger Depth", Range( 0 , 5)) = 0.1
+ _Shape1Duration("Shape 1 Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape2Depth("Shape 2 Trigger Depth", Range( 0 , 5)) = 0.2
+ _Shape2Duration("Shape 2 Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape3Depth("Shape 3 Trigger Depth", Range( 0 , 5)) = 0.3
+ _Shape3Duration("Shape 3 Trigger Duration", Range( 0 , 1)) = 0.1
+ _BlendshapePower("Blend Shape Power", Range(0,5)) = 1
+ _BlendshapeBadScaleFix("Blend Shape Bad Scale Fix", Range(1,100)) = 1
+ [HideInInspector] m_end_ralivOriface ("Oriface", Float) = 0
+ [HideInInspector] m_start_ralivAdvanced ("Advanced", Float) = 0
+ [Helpbox(1)] _RalivAdvancedHelp ("An advanced user feature that allows a separate channel for penetrators and orifices (think toy radio controlled cars) 0s only interact with 0s and 1s only interact with 1s", Int) = 0
+ _OrificeChannel("OrificeChannel Please Use 0", Float) = 0
+ [HideInInspector] m_end_ralivAdvanced ("Advanced", Float) = 0
+ [HideInInspector] m_end_raliv ("Raliv", Float) = 0
+ [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0
+ [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2
+ [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4
+ [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1
+ [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15
+ _OffsetFactor ("Offset Factor", Float) = 0.0
+ _OffsetUnits ("Offset Units", Float) = 0.0
+ [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0
+ [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown
+ [HideInInspector] m_start_blending ("Blending", Float) = 0
+ [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0
+ [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0
+ [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1
+ [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0
+ [HideInInspector] m_end_blending ("Blending", Float) = 0
+ [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0
+ [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0
+ [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255
+ [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255
+ [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0
+ [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0
+ [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0
+ [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8
+ [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0
+ [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{ condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0
+ [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0
+ [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255
+ [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255
+ [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0
+ [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0
+ [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0
+ [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8
+ [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0
+ [HideInInspector] m_start_debugOptions ("Debug", Float) = 0
+ [HideInInspector][ThryToggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0
+ _VertexUnwrap ("Unwrap", Range(0, 1)) = 0
+ [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0
+ [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0
+ [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0
+ [HideInInspector] m_end_debugOptions ("Debug", Float) = 0
+ }
+ CustomEditor "Thry.ShaderEditor"
+ SubShader
+ {
+ Tags { "RenderType" = "Opaque" "Queue" = "Geometry+10" }
+ Pass
+ {
+ Tags { "LightMode" = "ForwardBase" }
+ Stencil
+ {
+ Ref [_StencilRef]
+ ReadMask [_StencilReadMask]
+ WriteMask [_StencilWriteMask]
+ Comp [_StencilCompareFunction]
+ Pass [_StencilPassOp]
+ Fail [_StencilFailOp]
+ ZFail [_StencilZFailOp]
+ }
+ ZWrite [_ZWrite]
+ Cull [_Cull]
+ AlphaToMask [_AlphaToMask]
+ ZTest [_ZTest]
+ ColorMask [_ColorMask]
+ Offset [_OffsetFactor], [_OffsetUnits]
+ BlendOp [_BlendOp], [_BlendOpAlpha]
+ Blend [_SrcBlend] [_DstBlend]
+ CGPROGRAM
+#define OPTIMIZER_ENABLED
+#define VIGNETTE_MASKED
+#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+#define PROPSHADER_IS_USING_THRY_EDITOR 69
+#define PROPSHADER_MASTER_LABEL 0
+#define PROPSHADER_PRESETS 0
+#define PROPSHADER_PROPERTIES_LABEL_FILE 0
+#define PROPFOOTER_YOUTUBE 0
+#define PROPFOOTER_TWITTER 0
+#define PROPFOOTER_PATREON 0
+#define PROPFOOTER_DISCORD 0
+#define PROPFOOTER_GITHUB 0
+#define PROP_FORGOTTOLOCKMATERIAL 1
+#define PROP_SHADEROPTIMIZERENABLED 0
+#define PROP_LOCKTOOLTIP 0
+#define PROP_MODE 0
+#define PROPM_MAINOPTIONS 0
+#define PROP_MAINTEX
+#define PROP_MAINTEXTUREUV 0
+#define PROP_MAINEMISSIONSTRENGTH 0
+#define PROP_BUMPMAP
+#define PROP_BUMPMAPUV 0
+#define PROP_BUMPSCALE 1
+#define PROP_CLIPPINGMASKUV 0
+#define PROP_INVERSE_CLIPPING 0
+#define PROPM_START_MAINHUESHIFT 0
+#define PROP_MAINCOLORADJUSTTEXTUREUV 0
+#define PROP_MAINHUESHIFTREPLACE 1
+#define PROP_MAINHUESHIFT 0
+#define PROP_MAINHUESHIFTSPEED 0
+#define PROP_SATURATION 1
+#define PROP_MAINBRIGHTNESS 0
+#define PROP_MAINHUESHIFTTOGGLE 0
+#define PROPM_END_MAINHUESHIFT 0
+#define PROPM_START_RGBMASK 0
+#define PROP_RGBMASKENABLED 0
+#define PROP_RGBUSEVERTEXCOLORS 0
+#define PROP_RGBBLENDMULTIPLICATIVE 0
+#define PROP_RGBMASKUV 0
+#define PROP_RGBRED_UV 0
+#define PROP_RGBGREEN_UV 0
+#define PROP_RGBBLUE_UV 0
+#define PROP_RGBALPHA_UV 0
+#define PROP_RGBNORMALSENABLED 0
+#define PROP_RGBNORMALBLEND 0
+#define PROP_RGBNORMALRUV 0
+#define PROP_RGBNORMALRSCALE 0
+#define PROP_RGBNORMALGUV 0
+#define PROP_RGBNORMALGSCALE 0
+#define PROP_RGBNORMALBUV 0
+#define PROP_RGBNORMALBSCALE 0
+#define PROP_RGBNORMALAUV 0
+#define PROP_RGBNORMALASCALE 0
+#define PROPM_END_RGBMASK 0
+#define PROPM_START_DETAILOPTIONS 0
+#define PROP_DETAILENABLED 0
+#define PROP_DETAILMASKUV 0
+#define PROP_DETAILTEXUV 0
+#define PROP_DETAILTEXINTENSITY 1
+#define PROP_DETAILBRIGHTNESS 1
+#define PROP_DETAILNORMALMAPSCALE 1
+#define PROP_DETAILNORMALMAPUV 0
+#define PROPM_END_DETAILOPTIONS 0
+#define PROPM_START_MAINVERTEXCOLORS 0
+#define PROP_MAINVERTEXCOLORINGLINEARSPACE 1
+#define PROP_MAINVERTEXCOLORING 0
+#define PROP_MAINUSEVERTEXCOLORALPHA 0
+#define PROPM_END_MAINVERTEXCOLORS 0
+#define PROPM_START_VERTEXMANIPULATION 0
+#define PROP_VERTEXMANIPULATIONSENABLED 0
+#define PROP_VERTEXMANIPULATIONHEIGHT 0
+#define PROP_VERTEXMANIPULATIONHEIGHTUV 0
+#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0
+#define PROP_VERTEXROUNDINGENABLED 0
+#define PROP_VERTEXROUNDINGDIVISION 500
+#define PROPM_END_VERTEXMANIPULATION 0
+#define PROPM_START_ALPHA 0
+#define PROP_CUTOFF 0.5
+#define PROP_DITHERINGENABLED 0
+#define PROP_DITHERGRADIENT 0.1
+#define PROP_FORCEOPAQUE 0
+#define PROP_MAINSHADOWCLIPMOD 0
+#define PROP_ALPHATOMASK 0
+#define PROP_MAINALPHATOCOVERAGE 0
+#define PROP_MAINMIPSCALE 0.25
+#define PROP_ALPHAPREMULTIPLY 0
+#define PROP_ALPHAMOD 0
+#define PROPM_END_ALPHA 0
+#define PROPM_START_DECALSECTION 0
+#define PROP_DECALMASKUV 0
+#define PROPM_START_DECAL0 0
+#define PROP_DECALENABLED 0
+#define PROP_DECALEMISSIONSTRENGTH 0
+#define PROP_DECALTEXTUREUV 0
+#define PROP_DECALTILED 0
+#define PROP_DECAL0DEPTH 0
+#define PROP_DECALROTATION 0
+#define PROP_DECALROTATIONSPEED 0
+#define PROP_DECALBLENDTYPE 0
+#define PROP_DECALBLENDALPHA 1
+#define PROP_DECALHUESHIFTENABLED 0
+#define PROP_DECALHUESHIFTSPEED 0
+#define PROP_DECALHUESHIFT 0
+#define PROPM_START_DECAL0AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL0SCALEBAND 0
+#define PROP_AUDIOLINKDECAL0ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL0ALPHABAND 0
+#define PROP_AUDIOLINKDECAL0EMISSIONBAND 0
+#define PROPM_END_DECAL0AUDIOLINK 0
+#define PROPM_END_DECAL0 0
+#define PROPM_START_DECAL1 0
+#define PROP_DECALENABLED1 0
+#define PROP_DECALEMISSIONSTRENGTH1 0
+#define PROP_DECALTEXTURE1UV 0
+#define PROP_DECALTILED1 0
+#define PROP_DECAL1DEPTH 0
+#define PROP_DECALROTATION1 0
+#define PROP_DECALROTATIONSPEED1 0
+#define PROP_DECALBLENDTYPE1 0
+#define PROP_DECALBLENDALPHA1 1
+#define PROP_DECALHUESHIFTENABLED1 0
+#define PROP_DECALHUESHIFTSPEED1 0
+#define PROP_DECALHUESHIFT1 0
+#define PROPM_START_DECAL1AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL1SCALEBAND 0
+#define PROP_AUDIOLINKDECAL1ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL1ALPHABAND 0
+#define PROP_AUDIOLINKDECAL1EMISSIONBAND 0
+#define PROPM_END_DECAL1AUDIOLINK 0
+#define PROPM_END_DECAL1 0
+#define PROPM_START_DECAL2 0
+#define PROP_DECALENABLED2 0
+#define PROP_DECALEMISSIONSTRENGTH2 0
+#define PROP_DECALTEXTURE2UV 0
+#define PROP_DECALTILED2 0
+#define PROP_DECAL2DEPTH 0
+#define PROP_DECALROTATION2 0
+#define PROP_DECALROTATIONSPEED2 0
+#define PROP_DECALBLENDTYPE2 0
+#define PROP_DECALBLENDALPHA2 1
+#define PROP_DECALHUESHIFTENABLED2 0
+#define PROP_DECALHUESHIFTSPEED2 0
+#define PROP_DECALHUESHIFT2 0
+#define PROPM_START_DECAL2AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL2SCALEBAND 0
+#define PROP_AUDIOLINKDECAL2ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL2ALPHABAND 0
+#define PROP_AUDIOLINKDECAL2EMISSIONBAND 0
+#define PROPM_END_DECAL2AUDIOLINK 0
+#define PROPM_END_DECAL2 0
+#define PROPM_START_DECAL3 0
+#define PROP_DECALENABLED3 0
+#define PROP_DECALEMISSIONSTRENGTH3 0
+#define PROP_DECALTEXTURE3UV 0
+#define PROP_DECALTILED3 0
+#define PROP_DECAL3DEPTH 0
+#define PROP_DECALROTATION3 0
+#define PROP_DECALROTATIONSPEED3 0
+#define PROP_DECALBLENDTYPE3 0
+#define PROP_DECALBLENDALPHA3 1
+#define PROP_DECALHUESHIFTENABLED3 0
+#define PROP_DECALHUESHIFTSPEED3 0
+#define PROP_DECALHUESHIFT3 0
+#define PROPM_START_DECAL3AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL3SCALEBAND 0
+#define PROP_AUDIOLINKDECAL3ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL3ALPHABAND 0
+#define PROP_AUDIOLINKDECAL3EMISSIONBAND 0
+#define PROPM_END_DECAL3AUDIOLINK 0
+#define PROPM_END_DECAL3 0
+#define PROPM_END_DECALSECTION 0
+#define PROPM_START_BACKFACE 0
+#define PROP_BACKFACEENABLED 0
+#define PROP_BACKFACEREPLACEALPHA 0
+#define PROP_BACKFACETEXTUREUV 0
+#define PROP_BACKFACEDETAILINTENSITY 1
+#define PROP_BACKFACEHUESHIFT 0
+#define PROP_BACKFACEEMISSIONSTRENGTH 0
+#define PROPM_END_BACKFACE 0
+#define PROPM_LIGHTINGOPTIONS 0
+#define PROPM_START_LIGHTING 0
+#define PROP_ENABLELIGHTING 1
+#define PROP_LIGHTINGMODE 0
+#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0
+#define PROP_LIGHTINGWRAPPEDWRAP 0
+#define PROP_LIGHTINGWRAPPEDNORMALIZATION 0
+#define PROP_LIGHTINGRAMPTYPE 0
+#define PROP_1ST_SHADEMAPUV 0
+#define PROP_USE_1STSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_1STSHADEMAPMASK_INVERSE 0
+#define PROP_USE_BASEAS1ST 0
+#define PROP_2ND_SHADEMAPUV 0
+#define PROP_USE_2NDSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_2NDSHADEMAPMASK_INVERSE 0
+#define PROP_USE_1STAS2ND 0
+#define PROP_BASECOLOR_STEP 0.5
+#define PROP_BASESHADE_FEATHER 0.0001
+#define PROP_SHADECOLOR_STEP 0
+#define PROP_1ST2ND_SHADES_FEATHER 0.0001
+#define PROP_TOONRAMP
+#define PROP_LIGHTINGSHADOWMASKUV 0
+#define PROP_SHADOWOFFSET 0
+#define PROP_LIGHTINGGRADIENTSTART 0
+#define PROP_LIGHTINGGRADIENTEND 0.5
+#define PROP_SSSSCALE 1
+#define PROP_SSSBUMPBLUR 0.7
+#define PROP_SHADOWSTRENGTH 0.156
+#define PROP_ATTENUATIONMULTIPLIER 0
+#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0
+#define PROPM_START_LIGHTINGMODIFIERS 0
+#define PROP_LIGHTINGDIRECTCOLORMODE 0
+#define PROP_LIGHTINGINDIRECTCOLORMODE 0
+#define PROP_LIGHTINGUNCAPPED 0
+#define PROP_LIGHTINGONLYUNITYSHADOWS 0
+#define PROP_LIGHTINGMONOCHROMATIC 0
+#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0
+#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0
+#define PROPM_END_LIGHTINGMODIFIERS 0
+#define PROPM_START_DETAILSHADOWS 0
+#define PROP_LIGHTINGDETAILSHADOWSENABLED 0
+#define PROP_LIGHTINGDETAILSHADOWSUV 0
+#define PROP_LIGHTINGDETAILSTRENGTH 1
+#define PROPM_END_DETAILSHADOWS 0
+#define PROPM_START_AMBIENTOCCLUSION 0
+#define PROP_LIGHTINGENABLEAO 0
+#define PROP_LIGHTINGAOTEXUV 0
+#define PROP_AOSTRENGTH 1
+#define PROPM_END_AMBIENTOCCLUSION 0
+#define PROPM_START_LIGHTINGHSL 0
+#define PROP_LIGHTINGENABLEHSL 0
+#define PROP_LIGHTINGHSLINTENSITY 1
+#define PROP_LIGHTINGSHADOWHUE 0.5
+#define PROP_LIGHTINGSHADOWSATURATION 0.5
+#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5
+#define PROPM_END_LIGHTINGHSL 0
+#define PROPM_START_LIGHTINGADVANCED 0
+#define PROP_LIGHTINGADDITIVEENABLE 1
+#define PROP_LIGHTINGADDITIVETYPE 1
+#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0
+#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5
+#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5
+#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1
+#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0
+#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1
+#define PROP_DISABLEDIRECTIONALINADD 1
+#define PROPM_END_LIGHTINGADVANCED 0
+#define PROPM_END_LIGHTING 0
+#define PROPM_START_SUBSURFACE 0
+#define PROP_ENABLESSS 0
+#define PROP_SSSTHICKNESSMAPUV 0
+#define PROP_SSSTHICKNESSMOD 0
+#define PROP_SSSSCALE 0.25
+#define PROP_SSSPOWER 5
+#define PROP_SSSDISTORTION 1
+#define PROPM_END_SUBSURFACE 0
+#define PROPM_START_RIMLIGHTOPTIONS 0
+#define PROP_ENABLERIMLIGHTING 0
+#define PROP_RIMLIGHTNORMAL 1
+#define PROP_RIMLIGHTINGINVERT 0
+#define PROP_RIMWIDTH 0.8
+#define PROP_RIMSHARPNESS 0.1
+#define PROP_RIMSTRENGTH 0
+#define PROP_RIMBRIGHTEN 0
+#define PROP_RIMLIGHTCOLORBIAS 1
+#define PROP_RIMTEXUV 0
+#define PROP_RIMMASKUV 0
+#define PROPM_START_RIMHUESHIFT 0
+#define PROP_RIMHUESHIFTENABLED 0
+#define PROP_RIMHUESHIFTSPEED 0
+#define PROP_RIMHUESHIFT 0
+#define PROPM_END_RIMHUESHIFT 0
+#define PROPM_START_RIMWIDTHNOISE 0
+#define PROP_RIMWIDTHNOISETEXTUREUV 0
+#define PROP_RIMWIDTHNOISESTRENGTH 0.1
+#define PROPM_END_RIMWIDTHNOISE 0
+#define PROPM_START_SHADOWMIX 0
+#define PROP_SHADOWMIX 0
+#define PROP_SHADOWMIXTHRESHOLD 0.5
+#define PROP_SHADOWMIXWIDTHMOD 0.5
+#define PROPM_END_SHADOWMIX 0
+#define PROPM_START_RIMAUDIOLINK 0
+#define PROP_AUDIOLINKRIMWIDTHBAND 0
+#define PROP_AUDIOLINKRIMEMISSIONBAND 0
+#define PROP_AUDIOLINKRIMBRIGHTNESSBAND 0
+#define PROPM_END_RIMAUDIOLINK 0
+#define PROPM_END_RIMLIGHTOPTIONS 0
+#define PROPM_START_REFLECTIONRIM 0
+#define PROP_ENABLEENVIRONMENTALRIM 0
+#define PROP_RIMENVIROMASKUV 0
+#define PROP_RIMENVIROBLUR 0.7
+#define PROP_RIMENVIROWIDTH 0.45
+#define PROP_RIMENVIROSHARPNESS 0
+#define PROP_RIMENVIROMINBRIGHTNESS 0
+#define PROP_RIMENVIROINTENSITY 1
+#define PROPM_END_REFLECTIONRIM 0
+#define PROPM_START_BAKEDLIGHTING 0
+#define PROP_SPECULARLMOCCLUSION 0
+#define PROP_SPECLMOCCLUSIONADJUST 0.2
+#define PROP_GIEMISSIONMULTIPLIER 1
+#define PROPDSGI 0
+#define PROPLIGHTMAPFLAGS 0
+#define PROPM_END_BAKEDLIGHTING 0
+#define PROP_LOCKTOOLTIP 0
+#define PROPM_START_BRDF 0
+#define PROP_ENABLEBRDF 0
+#define PROP_BRDFMETALLICGLOSSMAPTOOLTIP 0
+#define PROP_BRDFINVERTGLOSSINESS 0
+#define PROP_BRDFMETALLICGLOSSMAPUV 0
+#define PROP_BRDFSPECULARMAPTOOLTIP 0
+#define PROP_BRDFSPECULARMAPUV 0
+#define PROP_BRDFMETALLICMAPTOOLTIP 0
+#define PROP_BRDFMETALLICMAPUV 0
+#define PROP_BRDFMETALLIC 0
+#define PROP_BRDFGLOSSINESS 0
+#define PROP_BRDFREFLECTANCE 0.5
+#define PROP_BRDFANISOTROPY 0
+#define PROP_BRDFMETALLICSPECIGNORESBASECOLOR 0
+#define PROP_BRDFREFLECTIONSENABLED 1
+#define PROP_BRDFSPECULARENABLED 1
+#define PROP_BRDFFALLBACK
+#define PROP_BRDFFORCEFALLBACK 0
+#define PROPM_END_BRDF 0
+#define PROPM_START_METALLIC 0
+#define PROP_ENABLEMETALLIC 0
+#define PROP_CUBEMAP
+#define PROP_SAMPLEWORLD 0
+#define PROP_METALLICTINTMAPUV 0
+#define PROP_METALLICMASKUV 0
+#define PROP_METALLIC 0
+#define PROP_SMOOTHNESSMASKUV 0
+#define PROP_INVERTSMOOTHNESS 0
+#define PROP_SMOOTHNESS 0.106
+#define PROPM_END_METALLIC 0
+#define PROPM_START_CLEARCOAT 0
+#define PROP_ENABLECLEARCOAT 0
+#define PROP_CLEARCOATHELPBOX 0
+#define PROP_CLEARCOATMAPUV 0
+#define PROP_CLEARCOATINVERTSMOOTHNESS 0
+#define PROP_CLEARCOAT 1
+#define PROP_CLEARCOATGLOSSINESS 0
+#define PROP_CLEARCOATANISOTROPY 0
+#define PROP_CLEARCOATENABLEREFLECTIONS 1
+#define PROP_CLEARCOATENABLESPECULAR 1
+#define PROP_CLEARCOATFORCEFALLBACK 0
+#define PROPM_END_CLEARCOAT 0
+#define PROPM_START_MATCAP 0
+#define PROP_MATCAPENABLE 0
+#define PROP_MATCAPBORDER 0.43
+#define PROP_MATCAPMASKUV 0
+#define PROP_MATCAPMASKINVERT 0
+#define PROP_MATCAPEMISSIONSTRENGTH 0
+#define PROP_MATCAPINTENSITY 1
+#define PROP_MATCAPLIGHTMASK 0
+#define PROP_MATCAPREPLACE 1
+#define PROP_MATCAPMULTIPLY 0
+#define PROP_MATCAPADD 0
+#define PROP_MATCAPNORMAL 1
+#define PROPM_START_MATCAPHUESHIFT 0
+#define PROP_MATCAPHUESHIFTENABLED 0
+#define PROP_MATCAPHUESHIFTSPEED 0
+#define PROP_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAP 0
+#define PROPM_START_MATCAP2 0
+#define PROP_MATCAP2ENABLE 0
+#define PROP_MATCAP2BORDER 0.43
+#define PROP_MATCAP2MASKUV 0
+#define PROP_MATCAP2MASKINVERT 0
+#define PROP_MATCAP2EMISSIONSTRENGTH 0
+#define PROP_MATCAP2INTENSITY 1
+#define PROP_MATCAP2LIGHTMASK 0
+#define PROP_MATCAP2REPLACE 0
+#define PROP_MATCAP2MULTIPLY 0
+#define PROP_MATCAP2ADD 0
+#define PROP_MATCAP2NORMAL 1
+#define PROPM_START_MATCAP2HUESHIFT 0
+#define PROP_MATCAP2HUESHIFTENABLED 0
+#define PROP_MATCAP2HUESHIFTSPEED 0
+#define PROP_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2 0
+#define PROPM_START_SPECULAR 0
+#define PROP_ENABLESPECULAR 0
+#define PROP_SPECULARTYPE 1
+#define PROP_SPECULARNORMAL 1
+#define PROP_SPECULARMETALLIC 0
+#define PROP_SPECULARMAXBRIGHTNESS 0
+#define PROP_SPECULARMETALLICMAPUV 0
+#define PROP_SPECULARSMOOTHNESS 1
+#define PROP_SPECULARMAPUV 0
+#define PROP_SPECULARINVERTSMOOTHNESS 0
+#define PROP_SPECULARMASKUV 0
+#define PROP_SMOOTHNESSFROM 1
+#define PROP_SPECWHATTANGENT 0
+#define PROP_ANISOSPEC1ALPHA 1
+#define PROP_ANISOSPEC2ALPHA 1
+#define PROP_SPEC1OFFSET 0
+#define PROP_SPEC2SMOOTHNESS 0
+#define PROP_ANISOUSETANGENTMAP 0
+#define PROP_ANISOTANGENTMAPUV 0
+#define PROP_SPECULARTOONSTART 0.95
+#define PROP_SPECULARTOONEND 1
+#define PROP_SPECULARANISOJITTERMIRRORED 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMICROUV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMACROUV 0
+#define PROPM_END_SPECULAR 0
+#define PROPM_START_SPECULAR1 0
+#define PROP_ENABLESPECULAR1 0
+#define PROP_SPECULARTYPE1 1
+#define PROP_SPECULARNORMAL1 1
+#define PROP_SPECULARMETALLIC1 0
+#define PROP_SPECULARMAXBRIGHTNESS1 0
+#define PROP_SPECULARMETALLICMAP1UV 0
+#define PROP_SPECULARSMOOTHNESS1 0.75
+#define PROP_SPECULARMAP1UV 0
+#define PROP_SPECULARINVERTSMOOTHNESS1 0
+#define PROP_SPECULARMASK1UV 0
+#define PROP_SMOOTHNESSFROM1 1
+#define PROP_SPECWHATTANGENT1 0
+#define PROP_ANISOSPEC1ALPHA1 1
+#define PROP_ANISOSPEC2ALPHA1 1
+#define PROP_SPEC1OFFSET1 0
+#define PROP_SPEC2SMOOTHNESS1 0
+#define PROP_ANISOUSETANGENTMAP1 0
+#define PROP_ANISOTANGENTMAP1UV 0
+#define PROP_SPECULARTOONSTART1 0.95
+#define PROP_SPECULARTOONEND1 1
+#define PROP_SPECULARANISOJITTERMIRRORED1 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMICRO1UV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMACRO1UV 0
+#define PROPM_END_SPECULAR1 0
+#define PROPM_SPECIAL_EFFECTS 0
+#define PROPM_START_EMISSIONOPTIONS 0
+#define PROP_ENABLEEMISSION 0
+#define PROP_EMISSIONREPLACE 0
+#define PROP_EMISSIONBASECOLORASMAP 0
+#define PROP_EMISSIONMAPUV 0
+#define PROP_EMISSIONMASKUV 0
+#define PROP_EMISSIONSTRENGTH 0
+#define PROP_EMISSIONHUESHIFTENABLED 0
+#define PROP_EMISSIONHUESHIFT 0
+#define PROP_EMISSIONHUESHIFTSPEED 0
+#define PROPM_START_CENTEROUTEMISSION 0
+#define PROP_EMISSIONCENTEROUTENABLED 0
+#define PROP_EMISSIONCENTEROUTSPEED 5
+#define PROPM_END_CENTEROUTEMISSION 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0
+#define PROP_ENABLEGITDEMISSION 0
+#define PROP_GITDEWORLDORMESH 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER 0
+#define PROP_GITDEMINLIGHT 0
+#define PROP_GITDEMAXLIGHT 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS 0
+#define PROP_EMISSIONBLINKINGENABLED 0
+#define PROP_EMISSIVEBLINK_MIN 0
+#define PROP_EMISSIVEBLINK_MAX 1
+#define PROP_EMISSIVEBLINK_VELOCITY 4
+#define PROP_EMISSIONBLINKINGOFFSET 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0
+#define PROP_SCROLLINGEMISSION 0
+#define PROP_EMISSIONSCROLLINGUSECURVE 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0
+#define PROP_EMISSIVESCROLL_WIDTH 10
+#define PROP_EMISSIVESCROLL_VELOCITY 10
+#define PROP_EMISSIVESCROLL_INTERVAL 20
+#define PROP_EMISSIONSCROLLINGOFFSET 0
+#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0
+#define PROPM_START_EMISSIONAUDIOLINK 0
+#define PROP_ENABLEEMISSIONSTRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSIONSTRENGTHBAND 0
+#define PROP_ENABLEEMISSIONCENTEROUTAUDIOLINK 0
+#define PROP_EMISSIONCENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTBAND 0
+#define PROP_EMISSIONCENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSIONBAND 0
+#define PROPM_END_EMISSIONAUDIOLINK 0
+#define PROPM_END_EMISSIONOPTIONS 0
+#define PROPM_START_EMISSION1OPTIONS 0
+#define PROP_ENABLEEMISSION1 0
+#define PROP_EMISSIONBASECOLORASMAP1 0
+#define PROP_EMISSIONMAP1UV 0
+#define PROP_EMISSIONMASK1UV 0
+#define PROP_EMISSIONSTRENGTH1 0
+#define PROP_EMISSIONHUESHIFTENABLED1 0
+#define PROP_EMISSIONHUESHIFT1 0
+#define PROP_EMISSIONHUESHIFTSPEED1 0
+#define PROPM_START_CENTEROUTEMISSION1 0
+#define PROP_EMISSIONCENTEROUTENABLED1 0
+#define PROP_EMISSIONCENTEROUTSPEED1 5
+#define PROPM_END_CENTEROUTEMISSION1 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROP_ENABLEGITDEMISSION1 0
+#define PROP_GITDEWORLDORMESH1 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER1 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0
+#define PROP_GITDEMINLIGHT1 0
+#define PROP_GITDEMAXLIGHT1 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0
+#define PROP_EMISSIONBLINKINGENABLED1 0
+#define PROP_EMISSIVEBLINK_MIN1 0
+#define PROP_EMISSIVEBLINK_MAX1 1
+#define PROP_EMISSIVEBLINK_VELOCITY1 4
+#define PROP_EMISSIONBLINKINGOFFSET1 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0
+#define PROP_SCROLLINGEMISSION1 0
+#define PROP_EMISSIONSCROLLINGUSECURVE1 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0
+#define PROP_EMISSIVESCROLL_WIDTH1 10
+#define PROP_EMISSIVESCROLL_VELOCITY1 10
+#define PROP_EMISSIVESCROLL_INTERVAL1 20
+#define PROP_EMISSIONSCROLLINGOFFSET1 0
+#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0
+#define PROPM_START_EMISSION1AUDIOLINK 0
+#define PROP_ENABLEEMISSION1STRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSION1STRENGTHBAND 0
+#define PROP_ENABLEEMISSION1CENTEROUTAUDIOLINK 0
+#define PROP_EMISSION1CENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTBAND 0
+#define PROP_EMISSION1CENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSION1BAND 0
+#define PROPM_END_EMISSION1AUDIOLINK 0
+#define PROPM_END_EMISSION1OPTIONS 0
+#define PROPM_START_PATHING 0
+#define PROP_ENABLEPATHING 0
+#define PROP_PATHINGMAPUV 0
+#define PROP_PATHINGCOLORMAPUV 0
+#define PROP_PATHTYPER 0
+#define PROP_PATHTYPEG 0
+#define PROP_PATHTYPEB 0
+#define PROPM_START_PATHAUDIOLINK 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDB 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDR 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDG 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDB 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDB 0
+#define PROPM_END_PATHAUDIOLINK 0
+#define PROPM_END_PATHING 0
+#define PROPM_START_FLIPBOOK 0
+#define PROP_ENABLEFLIPBOOK 0
+#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0
+#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0
+#define PROP_FLIPBOOKCOLORREPLACES 0
+#define PROP_FLIPBOOKTEXARRAYUV 0
+#define PROP_FLIPBOOKMASKUV 0
+#define PROP_FLIPBOOKTOTALFRAMES 1
+#define PROP_FLIPBOOKFPS 30
+#define PROP_FLIPBOOKTILED 0
+#define PROP_FLIPBOOKEMISSIONSTRENGTH 0
+#define PROP_FLIPBOOKROTATION 0
+#define PROP_FLIPBOOKROTATIONSPEED 0
+#define PROP_FLIPBOOKREPLACE 1
+#define PROP_FLIPBOOKMULTIPLY 0
+#define PROP_FLIPBOOKADD 0
+#define PROPM_START_FLIPBOOKAUDIOLINK 0
+#define PROP_AUDIOLINKFLIPBOOKSCALEBAND 0
+#define PROP_AUDIOLINKFLIPBOOKALPHABAND 0
+#define PROP_AUDIOLINKFLIPBOOKEMISSIONBAND 0
+#define PROP_AUDIOLINKFLIPBOOKFRAMEBAND 0
+#define PROPM_END_FLIPBOOKAUDIOLINK 0
+#define PROPM_START_MANUALFLIPBOOKCONTROL 0
+#define PROP_FLIPBOOKCURRENTFRAME -1
+#define PROPM_END_MANUALFLIPBOOKCONTROL 0
+#define PROPM_START_CROSSFADE 0
+#define PROP_FLIPBOOKCROSSFADEENABLED 0
+#define PROPM_END_CROSSFADE 0
+#define PROPM_START_FLIPBOOKHUESHIFT 0
+#define PROP_FLIPBOOKHUESHIFTENABLED 0
+#define PROP_FLIPBOOKHUESHIFTSPEED 0
+#define PROP_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOK 0
+#define PROPM_START_DISSOLVE 0
+#define PROP_ENABLEDISSOLVE 0
+#define PROP_DISSOLVETYPE 1
+#define PROP_DISSOLVEEDGEWIDTH 0.025
+#define PROP_DISSOLVEEDGEHARDNESS 0.5
+#define PROP_DISSOLVEEDGEEMISSION 0
+#define PROP_DISSOLVETOTEXTUREUV 0
+#define PROP_DISSOLVETOEMISSIONSTRENGTH 0
+#define PROP_DISSOLVENOISETEXTUREUV 0
+#define PROP_DISSOLVEINVERTNOISE 0
+#define PROP_DISSOLVEDETAILNOISEUV 0
+#define PROP_DISSOLVEINVERTDETAILNOISE 0
+#define PROP_DISSOLVEDETAILSTRENGTH 0.1
+#define PROP_DISSOLVEALPHA 0
+#define PROP_DISSOLVEUSEVERTEXCOLORS 0
+#define PROP_DISSOLVEMASKUV 0
+#define PROP_DISSOLVEMASKINVERT 0
+#define PROP_CONTINUOUSDISSOLVE 0
+#define PROPM_START_DISSOLVEMASKING 0
+#define PROP_DISSOLVEEMISSIONSIDE 2
+#define PROP_DISSOLVEEMISSION1SIDE 2
+#define PROPM_END_DISSOLVEMASKING 0
+#define PROPM_START_POINTTOPOINT 0
+#define PROP_DISSOLVEP2PWORLDLOCAL 0
+#define PROP_DISSOLVEP2PEDGELENGTH 0.1
+#define PROPM_END_POINTTOPOINT 0
+#define PROPM_START_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEHUESHIFTENABLED 0
+#define PROP_DISSOLVEHUESHIFTSPEED 0
+#define PROP_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEEDGEHUESHIFTENABLED 0
+#define PROP_DISSOLVEEDGEHUESHIFTSPEED 0
+#define PROP_DISSOLVEEDGEHUESHIFT 0
+#define PROPM_END_DISSOLVEHUESHIFT 0
+#define PROPM_START_BONUSSLIDERS 0
+#define PROP_DISSOLVEALPHA0 0
+#define PROP_DISSOLVEALPHA1 0
+#define PROP_DISSOLVEALPHA2 0
+#define PROP_DISSOLVEALPHA3 0
+#define PROP_DISSOLVEALPHA4 0
+#define PROP_DISSOLVEALPHA5 0
+#define PROP_DISSOLVEALPHA6 0
+#define PROP_DISSOLVEALPHA7 0
+#define PROP_DISSOLVEALPHA8 0
+#define PROP_DISSOLVEALPHA9 0
+#define PROPM_END_BONUSSLIDERS 0
+#define PROPM_START_DISSOLVEAUDIOLINK 0
+#define PROP_ENABLEDISSOLVEAUDIOLINK 0
+#define PROP_AUDIOLINKDISSOLVEALPHABAND 0
+#define PROP_AUDIOLINKDISSOLVEDETAILBAND 0
+#define PROPM_END_DISSOLVEAUDIOLINK 0
+#define PROPM_END_DISSOLVE 0
+#define PROPM_START_PANOSPHEREOPTIONS 0
+#define PROP_PANOTOGGLE 0
+#define PROP_PANOINFINITESTEREOTOGGLE 0
+#define PROP_PANOMASKUV 0
+#define PROP_PANOEMISSION 0
+#define PROP_PANOBLEND 0
+#define PROP_PANOCUBEMAPTOGGLE 0
+#define PROPM_END_PANOSPHEREOPTIONS 0
+#define PROPM_START_GLITTER 0
+#define PROP_GLITTERENABLE 0
+#define PROP_GLITTERMODE 0
+#define PROP_GLITTERSHAPE 0
+#define PROP_GLITTERBLENDTYPE 0
+#define PROP_GLITTERUSESURFACECOLOR 0
+#define PROP_GLITTERCOLORMAPUV 0
+#define PROP_GLITTERMASKUV 0
+#define PROP_GLITTERTEXTUREROTATION 0
+#define PROP_GLITTERFREQUENCY 300
+#define PROP_GLITTERJITTER 1
+#define PROP_GLITTERSPEED 10
+#define PROP_GLITTERSIZE 0.3
+#define PROP_GLITTERCONTRAST 300
+#define PROP_GLITTERANGLERANGE 90
+#define PROP_GLITTERMINBRIGHTNESS 0
+#define PROP_GLITTERBRIGHTNESS 3
+#define PROP_GLITTERBIAS 0.8
+#define PROP_GLITTERHIDEINSHADOW 0
+#define PROP_GLITTERCENTERSIZE 0.08
+#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20
+#define PROP_GLITTERJAGGYFIX 0
+#define PROPM_START_GLITTERHUESHIFT 0
+#define PROP_GLITTERHUESHIFTENABLED 0
+#define PROP_GLITTERHUESHIFTSPEED 0
+#define PROP_GLITTERHUESHIFT 0
+#define PROPM_END_GLITTERHUESHIFT 0
+#define PROPM_START_GLITTERRANDOM 0
+#define PROP_GLITTERRANDOMCOLORS 0
+#define PROP_GLITTERRANDOMSIZE 0
+#define PROP_GLITTERRANDOMROTATION 0
+#define PROPM_END_GLITTERRANDOM 0
+#define PROPM_END_GLITTER 0
+#define PROPM_START_TEXT 0
+#define PROP_TEXTPIXELRANGE 4
+#define PROP_TEXTENABLED 0
+#define PROPM_START_TEXTFPS 0
+#define PROP_TEXTFPSENABLED 0
+#define PROP_TEXTFPSUV 0
+#define PROP_TEXTFPSEMISSIONSTRENGTH 0
+#define PROP_TEXTFPSROTATION 0
+#define PROPM_END_TEXTFPS 0
+#define PROPM_START_TEXTPOSITION 0
+#define PROP_TEXTPOSITIONENABLED 0
+#define PROP_TEXTPOSITIONUV 0
+#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0
+#define PROP_TEXTPOSITIONROTATION 0
+#define PROPM_END_TEXTPOSITION 0
+#define PROPM_START_TEXTINSTANCETIME 0
+#define PROP_TEXTTIMEENABLED 0
+#define PROP_TEXTTIMEUV 0
+#define PROP_TEXTTIMEEMISSIONSTRENGTH 0
+#define PROP_TEXTTIMEROTATION 0
+#define PROPM_END_TEXTINSTANCETIME 0
+#define PROPM_END_TEXT 0
+#define PROPM_START_MIRROROPTIONS 0
+#define PROP_ENABLEMIRROROPTIONS 0
+#define PROP_MIRROR 0
+#define PROP_ENABLEMIRRORTEXTURE 0
+#define PROP_MIRRORTEXTUREUV 0
+#define PROPM_END_MIRROROPTIONS 0
+#define PROPM_START_DISTANCEFADE 0
+#define PROP_MAINFADETEXTUREUV 0
+#define PROP_MAINFADETYPE 1
+#define PROP_MAINMINALPHA 0
+#define PROP_MAINMAXALPHA 1
+#define PROP_MAINDISTANCEFADEMIN 0
+#define PROP_MAINDISTANCEFADEMAX 0
+#define PROPM_END_DISTANCEFADE 0
+#define PROPM_START_ANGULARFADE 0
+#define PROP_ENABLERANDOM 0
+#define PROP_ANGLETYPE 0
+#define PROP_ANGLECOMPARETO 0
+#define PROP_CAMERAANGLEMIN 45
+#define PROP_CAMERAANGLEMAX 90
+#define PROP_MODELANGLEMIN 45
+#define PROP_MODELANGLEMAX 90
+#define PROP_ANGLEMINALPHA 0
+#define PROPM_END_ANGULARFADE 0
+#define PROPM_START_DISTORTIONFLOW 0
+#define PROP_ENABLEDISTORTION 0
+#define PROP_DISTORTIONMASKUV 0
+#define PROP_DISTORTIONSTRENGTH 0.5
+#define PROP_DISTORTIONSTRENGTH1 0.5
+#define PROPM_START_DISTORTIONAUDIOLINK 0
+#define PROP_ENABLEDISTORTIONAUDIOLINK 0
+#define PROP_DISTORTIONSTRENGTHAUDIOLINKBAND 0
+#define PROP_DISTORTIONSTRENGTH1AUDIOLINKBAND 0
+#define PROPM_END_DISTORTIONAUDIOLINK 0
+#define PROPM_END_DISTORTIONFLOW 0
+#define PROPM_START_AUDIOLINK 0
+#define PROP_ENABLEAUDIOLINK 0
+#define PROP_AUDIOLINKHELP 0
+#define PROP_AUDIOLINKANIMTOGGLE 1
+#define PROP_AUDIOLINKDELAY 0
+#define PROP_AUDIOLINKAVERAGING 0
+#define PROP_AUDIOLINKAVERAGERANGE 0.5
+#define PROPM_START_AUDIOLINKDEBUG 0
+#define PROP_ENABLEAUDIOLINKDEBUG 0
+#define PROP_AUDIOLINKDEBUGTREBLE 0
+#define PROP_AUDIOLINKDEBUGHIGHMID 0
+#define PROP_AUDIOLINKDEBUGLOWMID 0
+#define PROP_AUDIOLINKDEBUGBASS 0
+#define PROP_AUDIOLINKDEBUGANIMATE 0
+#define PROP_AUDIOLINKTEXTUREVISUALIZATION 0
+#define PROPM_END_AUDIOLINKDEBUG 0
+#define PROPM_END_AUDIOLINK 0
+#define PROPM_PATREON 0
+#define PROPM_START_VIDEO 0
+#define PROP_ENABLEVIDEO 0
+#define PROP_VIDEOUVNUMBER 0
+#define PROP_VIDEOTYPE 3
+#define PROP_VIDEOBACKLIGHT 1
+#define PROP_VIDEOEMISSIONENABLED 1
+#define PROPM_START_VIDEOSETTINGS 0
+#define PROP_VIDEOENABLEVIDEOPLAYER 0
+#define PROP_VIDEOPIXELATETORESOLUTION 0
+#define PROP_VIDEOREPEATVIDEOTEXTURE 0
+#define PROP_VIDEOSATURATION 0
+#define PROP_VIDEOCONTRAST 0
+#define PROPM_END_VIDEOSETTINGS 0
+#define PROPM_START_VIDEODEBUG 0
+#define PROP_VIDEOENABLEDEBUG 0
+#define PROPM_END_VIDEODEBUG 0
+#define PROPM_START_CRT 0
+#define PROP_VIDEOCRTREFRESHRATE 24
+#define PROP_VIDEOCRTPIXELENERGIZEDTIME 1.9
+#define PROPM_END_CRT 0
+#define PROPM_START_GAMEBOY 0
+#define PROPM_END_GAMEBOY 0
+#define PROPM_END_VIDEO 0
+#define PROPM_START_TOUCHOPTIONS 0
+#define PROPM_START_BULGE 0
+#define PROP_ENABLEBULGE 0
+#define PROP_BULDGEFADELENGTH 0.02
+#define PROP_BULDGEHEIGHT 0.02
+#define PROPM_END_BULGE 0
+#define PROPM_START_TOUCHGLOW 0
+#define PROP_ENABLETOUCHGLOW 0
+#define PROP_DEPTHGRADIENTTEXTUREUV 0
+#define PROP_DEPTHGRADIENTBLEND 0
+#define PROP_DEPTHGRADIENTUV 0
+#define PROP_DEPTHMASKUV 0
+#define PROP_DEPTHGLOWEMISSION 3
+#define PROP_FADELENGTH 20
+#define PROP_DEPTHALPHAMIN 1
+#define PROP_DEPTHALPHAMAX 1
+#define PROPM_END_TOUCHGLOW 0
+#define PROPM_END_TOUCHOPTIONS 0
+#define PROPM_START_HOLOGRAM 0
+#define PROP_ENABLEHOLO 0
+#define PROP_HOLOCOORDINATESPACE 0
+#define PROP_HOLOLINEDENSITY 10
+#define PROP_HOLOSCROLLSPEED 1
+#define PROPM_START_FRESNELALPHA 0
+#define PROP_HOLOFRESNELALPHA 0
+#define PROP_HOLORIMSHARPNESS 0.5
+#define PROP_HOLORIMWIDTH 0.5
+#define PROPM_END_FRESNELALPHA 0
+#define PROPM_END_HOLOGRAM 0
+#define PROPM_START_IRIDESCENCE 0
+#define PROP_ENABLEIRIDESCENCE 0
+#define PROP_IRIDESCENCEPANSPEED 0
+#define PROP_IRIDESCENCEOFFSET 0
+#define PROP_IRIDESCENCENORMALTOGGLE 0
+#define PROP_IRIDESCENCENORMALINTENSITY 1
+#define PROP_IRIDESCENCENORMALUV 0
+#define PROP_IRIDESCENCEMASKUV 0
+#define PROP_IRIDESCENCENORMALSELECTION 1
+#define PROP_IRIDESCENCEINTENSITY 1
+#define PROP_IRIDESCENCEADDBLEND 0
+#define PROP_IRIDESCENCEREPLACEBLEND 0
+#define PROP_IRIDESCENCEMULTIPLYBLEND 0
+#define PROP_IRIDESCENCEEMISSIONSTRENGTH 0
+#define PROP_IRIDESCENCETIME 0
+#define PROP_IRIDESCENCEHUESHIFTENABLED 0
+#define PROP_IRIDESCENCEHUESHIFTSPEED 0
+#define PROP_IRIDESCENCEHUESHIFT 0
+#define PROPM_START_IRIDESCENCEAUDIOLINK 0
+#define PROP_IRIDESCENCEAUDIOLINKEMISSIONBAND 0
+#define PROPM_END_IRIDESCENCEAUDIOLINK 0
+#define PROPM_END_IRIDESCENCE 0
+#define PROPM_START_VERTEXGLITCH 0
+#define PROP_ENABLEVERTEXGLITCH 0
+#define PROP_VERTEXGLITCHFREQUENCY 0
+#define PROP_VERTEXGLITCHTHRESHOLD 1
+#define PROP_VERTEXGLITCHSTRENGTH 1
+#define PROPM_END_VERTEXGLITCH 0
+#define PROPM_START_SPAWNS 0
+#define PROPM_START_SCIFISPAWNIN 0
+#define PROP_ENABLESCIFISPAWNIN 0
+#define PROP_SPAWNINNOISEINTENSITY 0.35
+#define PROP_SPAWNINALPHA 0
+#define PROP_SPAWNINEMISSIONOFFSET 0.1
+#define PROP_SPAWNINVERTOFFSET 10
+#define PROP_SPAWNINVERTOFFSETOFFSET 0.1
+#define PROPM_END_SCIFISPAWNIN 0
+#define PROPM_END_SPAWNS 0
+#define PROPM_START_VORONOI 0
+#define PROP_VORONOITYPE 1
+#define PROP_VORONOISPACE 0
+#define PROP_VORONOIBLEND 0
+#define PROP_ENABLEVORONOI 0
+#define PROP_VORONOIEFFECTSMATERIALALPHA 0
+#define PROP_VORONOIMASKUV 0
+#define PROP_VORONOINOISEUV 0
+#define PROP_VORONOINOISEINTENSITY 0.1
+#define PROP_VORONOIEMISSION0 0
+#define PROP_VORONOIEMISSION1 0
+#define PROP_VORONOISCALE 5
+#define PROPM_START_VORONOIRANDOM 0
+#define PROP_VORONOIENABLERANDOMCELLCOLOR 0
+#define PROPM_END_VORONOIRANDOM 0
+#define PROPM_END_VORONOI 0
+#define PROPM_START_BLACKLIGHT 0
+#define PROP_BLACKLIGHTMASKENABLED 0
+#define PROP_BLACKLIGHTMASKDEBUG 0
+#define PROP_BLACKLIGHTMASKMETALLIC 4
+#define PROP_BLACKLIGHTMASKCLEARCOAT 4
+#define PROP_BLACKLIGHTMASKMATCAP 4
+#define PROP_BLACKLIGHTMASKMATCAP2 4
+#define PROP_BLACKLIGHTMASKEMISSION 4
+#define PROP_BLACKLIGHTMASKEMISSION2 4
+#define PROP_BLACKLIGHTMASKFLIPBOOK 4
+#define PROP_BLACKLIGHTMASKDISSOLVE 4
+#define PROP_BLACKLIGHTMASKPANOSPHERE 4
+#define PROP_BLACKLIGHTMASKGLITTER 4
+#define PROP_BLACKLIGHTMASKIRIDESCENCE 4
+#define PROPM_END_BLACKLIGHT 0
+#define PROPM_OUTLINEOPTIONS 0
+#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0
+#define PROP_OUTLINEMODE 0
+#define PROP_OUTLINETINTMIX 0
+#define PROP_OUTLINERIMLIGHTBLEND 0
+#define PROP_OUTLINEFIXEDSIZE 0
+#define PROP_OUTLINESMAXDISTANCE 9999
+#define PROP_OUTLINEUSEVERTEXCOLORS 0
+#define PROP_OUTLINELIT 1
+#define PROP_LINEWIDTH 0
+#define PROP_OUTLINEEMISSION 0
+#define PROP_OUTLINETEXTUREUV 0
+#define PROP_OUTLINEMASKUV 0
+#define PROP_OUTLINESHADOWSTRENGTH 1
+#define PROP_OUTLINEHUESHIFT 0
+#define PROP_OUTLINEHUEOFFSET 0
+#define PROP_OUTLINEHUEOFFSETSPEED 0
+#define PROPM_START_OUTLINEADVANCED 0
+#define PROP_OUTLINECULL 1
+#define PROP_OUTLINEOFFSETFACTOR 0
+#define PROP_OUTLINEOFFSETUNITS 0
+#define PROPM_END_OUTLINEADVANCED 0
+#define PROPM_PARALLAXMAP 0
+#define PROP_PARALLAXMAP 0
+#define PROP_PARALLAXHEIGHTMAPENABLED 0
+#define PROP_PARALLAXINTERNALMAPENABLED 0
+#define PROPM_START_PARALLAXHEIGHTMAP 0
+#define PROP_PARALLAXUV 0
+#define PROP_PARALLAXHEIGHTMAPMASKUV 0
+#define PROP_PARALLAXSTRENGTH 0
+#define PROPM_END_PARALLAXHEIGHTMAP 0
+#define PROPM_START_PARALLAXINTERNAL 0
+#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0
+#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0
+#define PROP_PARALLAXINTERNALMAPMASKUV 0
+#define PROP_PARALLAXINTERNALITERATIONS 1
+#define PROP_PARALLAXINTERNALMINDEPTH 0
+#define PROP_PARALLAXINTERNALMAXDEPTH 1
+#define PROP_PARALLAXINTERNALMINFADE 0
+#define PROP_PARALLAXINTERNALMAXFADE 1
+#define PROPM_END_PARALLAXINTERNAL 0
+#define PROPM_START_PARALLAXADVANCED 0
+#define PROP_PARALLAXBIAS 0.42
+#define PROPM_END_PARALLAXADVANCED 0
+#define PROPM_POSTPROCESSING 0
+#define PROP_PPHELP 0
+#define PROP_PPLIGHTINGMULTIPLIER 1
+#define PROP_PPEMISSIONMULTIPLIER 1
+#define PROPM_THIRDPARTY 1
+#define PROPM_START_RALIV 1
+#define PROP_RALIVHELP 0
+#define PROPM_START_RALIVPENETRATOR 1
+#define PROP_PENETRATORENABLED 1
+#define PROP_SQUEEZE 0.2
+#define PROP_SQUEEZEDIST 0.0259
+#define PROP_BULGEPOWER 0.00072
+#define PROP_BULGEOFFSET 0.053
+#define PROP_LENGTH 0.3580336
+#define PROP_ENTRANCESTIFFNESS 0.01
+#define PROP_CURVATURE 0
+#define PROP_RECURVATURE 0
+#define PROP_WRIGGLE 0
+#define PROP_WRIGGLESPEED 6.2
+#define PROP__DIRTY 0
+#define PROPM_END_RALIVPENETRATOR 0
+#define PROPM_START_RALIVORIFACE 0
+#define PROP_ORIFACEENABLED 0
+#define PROP_ENTRYOPENDURATION 0.1
+#define PROP_SHAPE1DEPTH 0.1
+#define PROP_SHAPE1DURATION 0.1
+#define PROP_SHAPE2DEPTH 0.2
+#define PROP_SHAPE2DURATION 0.1
+#define PROP_SHAPE3DEPTH 0.3
+#define PROP_SHAPE3DURATION 0.1
+#define PROP_BLENDSHAPEPOWER 1
+#define PROP_BLENDSHAPEBADSCALEFIX 1
+#define PROPM_END_RALIVORIFACE 0
+#define PROPM_START_RALIVADVANCED 1
+#define PROP_RALIVADVANCEDHELP 0
+#define PROP_ORIFICECHANNEL 0
+#define PROPM_END_RALIVADVANCED 0
+#define PROPM_END_RALIV 0
+#define PROPM_RENDERINGOPTIONS 0
+#define PROP_CULL 2
+#define PROP_ZTEST 4
+#define PROP_ZWRITE 1
+#define PROP_COLORMASK 15
+#define PROP_OFFSETFACTOR 0
+#define PROP_OFFSETUNITS 0
+#define PROP_IGNOREFOG 0
+#define PROPINSTANCING 0
+#define PROPM_START_BLENDING 0
+#define PROP_BLENDOP 0
+#define PROP_BLENDOPALPHA 0
+#define PROP_SRCBLEND 1
+#define PROP_DSTBLEND 0
+#define PROPM_END_BLENDING 0
+#define PROPM_START_STENCILPASSOPTIONS 0
+#define PROP_STENCILREF 0
+#define PROP_STENCILREADMASK 255
+#define PROP_STENCILWRITEMASK 255
+#define PROP_STENCILPASSOP 0
+#define PROP_STENCILFAILOP 0
+#define PROP_STENCILZFAILOP 0
+#define PROP_STENCILCOMPAREFUNCTION 8
+#define PROPM_END_STENCILPASSOPTIONS 0
+#define PROPM_START_OUTLINESTENCIL 0
+#define PROP_OUTLINESTENCILREF 0
+#define PROP_OUTLINESTENCILREADMASK 255
+#define PROP_OUTLINESTENCILWRITEMASK 255
+#define PROP_OUTLINESTENCILPASSOP 0
+#define PROP_OUTLINESTENCILFAILOP 0
+#define PROP_OUTLINESTENCILZFAILOP 0
+#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8
+#define PROPM_END_OUTLINESTENCIL 0
+#define PROPM_START_DEBUGOPTIONS 0
+#define PROP_DEBUGENABLED 0
+#define PROP_VERTEXUNWRAP 0
+#define PROP_DEBUGMESHDATA 0
+#define PROP_DEBUGLIGHTINGDATA 0
+#define PROP_DEBUGCAMERADATA 0
+#define PROPM_END_DEBUGOPTIONS 0
+
+ #pragma target 5.0
+ #define FORWARD_BASE_PASS
+ float _Mode;
+ #pragma multi_compile _ VERTEXLIGHT_ON
+ #pragma multi_compile_instancing
+ #pragma multi_compile_fwdbase
+ #pragma fragmentoption ARB_precision_hint_fastest
+ #pragma multi_compile_fog
+ #pragma vertex vert
+ #pragma fragment frag
+ #include "/CGI_PoiPass.cginc"
+ ENDCG
+ }
+ Pass
+ {
+ Name "ForwardAddPass"
+ Tags { "LightMode" = "ForwardAdd" }
+ Stencil
+ {
+ Ref [_StencilRef]
+ Comp [_StencilCompareFunction]
+ Pass [_StencilPassOp]
+ Fail [_StencilFailOp]
+ ZFail [_StencilZFailOp]
+ }
+ ZWrite Off
+ BlendOp [_BlendOp], [_BlendOpAlpha]
+ Blend One One
+ Cull [_Cull]
+ ZTest [_ZTest]
+ ColorMask [_ColorMask]
+ Offset [_OffsetFactor], [_OffsetUnits]
+ CGPROGRAM
+#define OPTIMIZER_ENABLED
+#define VIGNETTE_MASKED
+#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+#define PROPSHADER_IS_USING_THRY_EDITOR 69
+#define PROPSHADER_MASTER_LABEL 0
+#define PROPSHADER_PRESETS 0
+#define PROPSHADER_PROPERTIES_LABEL_FILE 0
+#define PROPFOOTER_YOUTUBE 0
+#define PROPFOOTER_TWITTER 0
+#define PROPFOOTER_PATREON 0
+#define PROPFOOTER_DISCORD 0
+#define PROPFOOTER_GITHUB 0
+#define PROP_FORGOTTOLOCKMATERIAL 1
+#define PROP_SHADEROPTIMIZERENABLED 0
+#define PROP_LOCKTOOLTIP 0
+#define PROP_MODE 0
+#define PROPM_MAINOPTIONS 0
+#define PROP_MAINTEX
+#define PROP_MAINTEXTUREUV 0
+#define PROP_MAINEMISSIONSTRENGTH 0
+#define PROP_BUMPMAP
+#define PROP_BUMPMAPUV 0
+#define PROP_BUMPSCALE 1
+#define PROP_CLIPPINGMASKUV 0
+#define PROP_INVERSE_CLIPPING 0
+#define PROPM_START_MAINHUESHIFT 0
+#define PROP_MAINCOLORADJUSTTEXTUREUV 0
+#define PROP_MAINHUESHIFTREPLACE 1
+#define PROP_MAINHUESHIFT 0
+#define PROP_MAINHUESHIFTSPEED 0
+#define PROP_SATURATION 1
+#define PROP_MAINBRIGHTNESS 0
+#define PROP_MAINHUESHIFTTOGGLE 0
+#define PROPM_END_MAINHUESHIFT 0
+#define PROPM_START_RGBMASK 0
+#define PROP_RGBMASKENABLED 0
+#define PROP_RGBUSEVERTEXCOLORS 0
+#define PROP_RGBBLENDMULTIPLICATIVE 0
+#define PROP_RGBMASKUV 0
+#define PROP_RGBRED_UV 0
+#define PROP_RGBGREEN_UV 0
+#define PROP_RGBBLUE_UV 0
+#define PROP_RGBALPHA_UV 0
+#define PROP_RGBNORMALSENABLED 0
+#define PROP_RGBNORMALBLEND 0
+#define PROP_RGBNORMALRUV 0
+#define PROP_RGBNORMALRSCALE 0
+#define PROP_RGBNORMALGUV 0
+#define PROP_RGBNORMALGSCALE 0
+#define PROP_RGBNORMALBUV 0
+#define PROP_RGBNORMALBSCALE 0
+#define PROP_RGBNORMALAUV 0
+#define PROP_RGBNORMALASCALE 0
+#define PROPM_END_RGBMASK 0
+#define PROPM_START_DETAILOPTIONS 0
+#define PROP_DETAILENABLED 0
+#define PROP_DETAILMASKUV 0
+#define PROP_DETAILTEXUV 0
+#define PROP_DETAILTEXINTENSITY 1
+#define PROP_DETAILBRIGHTNESS 1
+#define PROP_DETAILNORMALMAPSCALE 1
+#define PROP_DETAILNORMALMAPUV 0
+#define PROPM_END_DETAILOPTIONS 0
+#define PROPM_START_MAINVERTEXCOLORS 0
+#define PROP_MAINVERTEXCOLORINGLINEARSPACE 1
+#define PROP_MAINVERTEXCOLORING 0
+#define PROP_MAINUSEVERTEXCOLORALPHA 0
+#define PROPM_END_MAINVERTEXCOLORS 0
+#define PROPM_START_VERTEXMANIPULATION 0
+#define PROP_VERTEXMANIPULATIONSENABLED 0
+#define PROP_VERTEXMANIPULATIONHEIGHT 0
+#define PROP_VERTEXMANIPULATIONHEIGHTUV 0
+#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0
+#define PROP_VERTEXROUNDINGENABLED 0
+#define PROP_VERTEXROUNDINGDIVISION 500
+#define PROPM_END_VERTEXMANIPULATION 0
+#define PROPM_START_ALPHA 0
+#define PROP_CUTOFF 0.5
+#define PROP_DITHERINGENABLED 0
+#define PROP_DITHERGRADIENT 0.1
+#define PROP_FORCEOPAQUE 0
+#define PROP_MAINSHADOWCLIPMOD 0
+#define PROP_ALPHATOMASK 0
+#define PROP_MAINALPHATOCOVERAGE 0
+#define PROP_MAINMIPSCALE 0.25
+#define PROP_ALPHAPREMULTIPLY 0
+#define PROP_ALPHAMOD 0
+#define PROPM_END_ALPHA 0
+#define PROPM_START_DECALSECTION 0
+#define PROP_DECALMASKUV 0
+#define PROPM_START_DECAL0 0
+#define PROP_DECALENABLED 0
+#define PROP_DECALEMISSIONSTRENGTH 0
+#define PROP_DECALTEXTUREUV 0
+#define PROP_DECALTILED 0
+#define PROP_DECAL0DEPTH 0
+#define PROP_DECALROTATION 0
+#define PROP_DECALROTATIONSPEED 0
+#define PROP_DECALBLENDTYPE 0
+#define PROP_DECALBLENDALPHA 1
+#define PROP_DECALHUESHIFTENABLED 0
+#define PROP_DECALHUESHIFTSPEED 0
+#define PROP_DECALHUESHIFT 0
+#define PROPM_START_DECAL0AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL0SCALEBAND 0
+#define PROP_AUDIOLINKDECAL0ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL0ALPHABAND 0
+#define PROP_AUDIOLINKDECAL0EMISSIONBAND 0
+#define PROPM_END_DECAL0AUDIOLINK 0
+#define PROPM_END_DECAL0 0
+#define PROPM_START_DECAL1 0
+#define PROP_DECALENABLED1 0
+#define PROP_DECALEMISSIONSTRENGTH1 0
+#define PROP_DECALTEXTURE1UV 0
+#define PROP_DECALTILED1 0
+#define PROP_DECAL1DEPTH 0
+#define PROP_DECALROTATION1 0
+#define PROP_DECALROTATIONSPEED1 0
+#define PROP_DECALBLENDTYPE1 0
+#define PROP_DECALBLENDALPHA1 1
+#define PROP_DECALHUESHIFTENABLED1 0
+#define PROP_DECALHUESHIFTSPEED1 0
+#define PROP_DECALHUESHIFT1 0
+#define PROPM_START_DECAL1AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL1SCALEBAND 0
+#define PROP_AUDIOLINKDECAL1ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL1ALPHABAND 0
+#define PROP_AUDIOLINKDECAL1EMISSIONBAND 0
+#define PROPM_END_DECAL1AUDIOLINK 0
+#define PROPM_END_DECAL1 0
+#define PROPM_START_DECAL2 0
+#define PROP_DECALENABLED2 0
+#define PROP_DECALEMISSIONSTRENGTH2 0
+#define PROP_DECALTEXTURE2UV 0
+#define PROP_DECALTILED2 0
+#define PROP_DECAL2DEPTH 0
+#define PROP_DECALROTATION2 0
+#define PROP_DECALROTATIONSPEED2 0
+#define PROP_DECALBLENDTYPE2 0
+#define PROP_DECALBLENDALPHA2 1
+#define PROP_DECALHUESHIFTENABLED2 0
+#define PROP_DECALHUESHIFTSPEED2 0
+#define PROP_DECALHUESHIFT2 0
+#define PROPM_START_DECAL2AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL2SCALEBAND 0
+#define PROP_AUDIOLINKDECAL2ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL2ALPHABAND 0
+#define PROP_AUDIOLINKDECAL2EMISSIONBAND 0
+#define PROPM_END_DECAL2AUDIOLINK 0
+#define PROPM_END_DECAL2 0
+#define PROPM_START_DECAL3 0
+#define PROP_DECALENABLED3 0
+#define PROP_DECALEMISSIONSTRENGTH3 0
+#define PROP_DECALTEXTURE3UV 0
+#define PROP_DECALTILED3 0
+#define PROP_DECAL3DEPTH 0
+#define PROP_DECALROTATION3 0
+#define PROP_DECALROTATIONSPEED3 0
+#define PROP_DECALBLENDTYPE3 0
+#define PROP_DECALBLENDALPHA3 1
+#define PROP_DECALHUESHIFTENABLED3 0
+#define PROP_DECALHUESHIFTSPEED3 0
+#define PROP_DECALHUESHIFT3 0
+#define PROPM_START_DECAL3AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL3SCALEBAND 0
+#define PROP_AUDIOLINKDECAL3ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL3ALPHABAND 0
+#define PROP_AUDIOLINKDECAL3EMISSIONBAND 0
+#define PROPM_END_DECAL3AUDIOLINK 0
+#define PROPM_END_DECAL3 0
+#define PROPM_END_DECALSECTION 0
+#define PROPM_START_BACKFACE 0
+#define PROP_BACKFACEENABLED 0
+#define PROP_BACKFACEREPLACEALPHA 0
+#define PROP_BACKFACETEXTUREUV 0
+#define PROP_BACKFACEDETAILINTENSITY 1
+#define PROP_BACKFACEHUESHIFT 0
+#define PROP_BACKFACEEMISSIONSTRENGTH 0
+#define PROPM_END_BACKFACE 0
+#define PROPM_LIGHTINGOPTIONS 0
+#define PROPM_START_LIGHTING 0
+#define PROP_ENABLELIGHTING 1
+#define PROP_LIGHTINGMODE 0
+#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0
+#define PROP_LIGHTINGWRAPPEDWRAP 0
+#define PROP_LIGHTINGWRAPPEDNORMALIZATION 0
+#define PROP_LIGHTINGRAMPTYPE 0
+#define PROP_1ST_SHADEMAPUV 0
+#define PROP_USE_1STSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_1STSHADEMAPMASK_INVERSE 0
+#define PROP_USE_BASEAS1ST 0
+#define PROP_2ND_SHADEMAPUV 0
+#define PROP_USE_2NDSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_2NDSHADEMAPMASK_INVERSE 0
+#define PROP_USE_1STAS2ND 0
+#define PROP_BASECOLOR_STEP 0.5
+#define PROP_BASESHADE_FEATHER 0.0001
+#define PROP_SHADECOLOR_STEP 0
+#define PROP_1ST2ND_SHADES_FEATHER 0.0001
+#define PROP_TOONRAMP
+#define PROP_LIGHTINGSHADOWMASKUV 0
+#define PROP_SHADOWOFFSET 0
+#define PROP_LIGHTINGGRADIENTSTART 0
+#define PROP_LIGHTINGGRADIENTEND 0.5
+#define PROP_SSSSCALE 1
+#define PROP_SSSBUMPBLUR 0.7
+#define PROP_SHADOWSTRENGTH 0.156
+#define PROP_ATTENUATIONMULTIPLIER 0
+#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0
+#define PROPM_START_LIGHTINGMODIFIERS 0
+#define PROP_LIGHTINGDIRECTCOLORMODE 0
+#define PROP_LIGHTINGINDIRECTCOLORMODE 0
+#define PROP_LIGHTINGUNCAPPED 0
+#define PROP_LIGHTINGONLYUNITYSHADOWS 0
+#define PROP_LIGHTINGMONOCHROMATIC 0
+#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0
+#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0
+#define PROPM_END_LIGHTINGMODIFIERS 0
+#define PROPM_START_DETAILSHADOWS 0
+#define PROP_LIGHTINGDETAILSHADOWSENABLED 0
+#define PROP_LIGHTINGDETAILSHADOWSUV 0
+#define PROP_LIGHTINGDETAILSTRENGTH 1
+#define PROPM_END_DETAILSHADOWS 0
+#define PROPM_START_AMBIENTOCCLUSION 0
+#define PROP_LIGHTINGENABLEAO 0
+#define PROP_LIGHTINGAOTEXUV 0
+#define PROP_AOSTRENGTH 1
+#define PROPM_END_AMBIENTOCCLUSION 0
+#define PROPM_START_LIGHTINGHSL 0
+#define PROP_LIGHTINGENABLEHSL 0
+#define PROP_LIGHTINGHSLINTENSITY 1
+#define PROP_LIGHTINGSHADOWHUE 0.5
+#define PROP_LIGHTINGSHADOWSATURATION 0.5
+#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5
+#define PROPM_END_LIGHTINGHSL 0
+#define PROPM_START_LIGHTINGADVANCED 0
+#define PROP_LIGHTINGADDITIVEENABLE 1
+#define PROP_LIGHTINGADDITIVETYPE 1
+#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0
+#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5
+#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5
+#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1
+#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0
+#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1
+#define PROP_DISABLEDIRECTIONALINADD 1
+#define PROPM_END_LIGHTINGADVANCED 0
+#define PROPM_END_LIGHTING 0
+#define PROPM_START_SUBSURFACE 0
+#define PROP_ENABLESSS 0
+#define PROP_SSSTHICKNESSMAPUV 0
+#define PROP_SSSTHICKNESSMOD 0
+#define PROP_SSSSCALE 0.25
+#define PROP_SSSPOWER 5
+#define PROP_SSSDISTORTION 1
+#define PROPM_END_SUBSURFACE 0
+#define PROPM_START_RIMLIGHTOPTIONS 0
+#define PROP_ENABLERIMLIGHTING 0
+#define PROP_RIMLIGHTNORMAL 1
+#define PROP_RIMLIGHTINGINVERT 0
+#define PROP_RIMWIDTH 0.8
+#define PROP_RIMSHARPNESS 0.1
+#define PROP_RIMSTRENGTH 0
+#define PROP_RIMBRIGHTEN 0
+#define PROP_RIMLIGHTCOLORBIAS 1
+#define PROP_RIMTEXUV 0
+#define PROP_RIMMASKUV 0
+#define PROPM_START_RIMHUESHIFT 0
+#define PROP_RIMHUESHIFTENABLED 0
+#define PROP_RIMHUESHIFTSPEED 0
+#define PROP_RIMHUESHIFT 0
+#define PROPM_END_RIMHUESHIFT 0
+#define PROPM_START_RIMWIDTHNOISE 0
+#define PROP_RIMWIDTHNOISETEXTUREUV 0
+#define PROP_RIMWIDTHNOISESTRENGTH 0.1
+#define PROPM_END_RIMWIDTHNOISE 0
+#define PROPM_START_SHADOWMIX 0
+#define PROP_SHADOWMIX 0
+#define PROP_SHADOWMIXTHRESHOLD 0.5
+#define PROP_SHADOWMIXWIDTHMOD 0.5
+#define PROPM_END_SHADOWMIX 0
+#define PROPM_START_RIMAUDIOLINK 0
+#define PROP_AUDIOLINKRIMWIDTHBAND 0
+#define PROP_AUDIOLINKRIMEMISSIONBAND 0
+#define PROP_AUDIOLINKRIMBRIGHTNESSBAND 0
+#define PROPM_END_RIMAUDIOLINK 0
+#define PROPM_END_RIMLIGHTOPTIONS 0
+#define PROPM_START_REFLECTIONRIM 0
+#define PROP_ENABLEENVIRONMENTALRIM 0
+#define PROP_RIMENVIROMASKUV 0
+#define PROP_RIMENVIROBLUR 0.7
+#define PROP_RIMENVIROWIDTH 0.45
+#define PROP_RIMENVIROSHARPNESS 0
+#define PROP_RIMENVIROMINBRIGHTNESS 0
+#define PROP_RIMENVIROINTENSITY 1
+#define PROPM_END_REFLECTIONRIM 0
+#define PROPM_START_BAKEDLIGHTING 0
+#define PROP_SPECULARLMOCCLUSION 0
+#define PROP_SPECLMOCCLUSIONADJUST 0.2
+#define PROP_GIEMISSIONMULTIPLIER 1
+#define PROPDSGI 0
+#define PROPLIGHTMAPFLAGS 0
+#define PROPM_END_BAKEDLIGHTING 0
+#define PROP_LOCKTOOLTIP 0
+#define PROPM_START_BRDF 0
+#define PROP_ENABLEBRDF 0
+#define PROP_BRDFMETALLICGLOSSMAPTOOLTIP 0
+#define PROP_BRDFINVERTGLOSSINESS 0
+#define PROP_BRDFMETALLICGLOSSMAPUV 0
+#define PROP_BRDFSPECULARMAPTOOLTIP 0
+#define PROP_BRDFSPECULARMAPUV 0
+#define PROP_BRDFMETALLICMAPTOOLTIP 0
+#define PROP_BRDFMETALLICMAPUV 0
+#define PROP_BRDFMETALLIC 0
+#define PROP_BRDFGLOSSINESS 0
+#define PROP_BRDFREFLECTANCE 0.5
+#define PROP_BRDFANISOTROPY 0
+#define PROP_BRDFMETALLICSPECIGNORESBASECOLOR 0
+#define PROP_BRDFREFLECTIONSENABLED 1
+#define PROP_BRDFSPECULARENABLED 1
+#define PROP_BRDFFALLBACK
+#define PROP_BRDFFORCEFALLBACK 0
+#define PROPM_END_BRDF 0
+#define PROPM_START_METALLIC 0
+#define PROP_ENABLEMETALLIC 0
+#define PROP_CUBEMAP
+#define PROP_SAMPLEWORLD 0
+#define PROP_METALLICTINTMAPUV 0
+#define PROP_METALLICMASKUV 0
+#define PROP_METALLIC 0
+#define PROP_SMOOTHNESSMASKUV 0
+#define PROP_INVERTSMOOTHNESS 0
+#define PROP_SMOOTHNESS 0.106
+#define PROPM_END_METALLIC 0
+#define PROPM_START_CLEARCOAT 0
+#define PROP_ENABLECLEARCOAT 0
+#define PROP_CLEARCOATHELPBOX 0
+#define PROP_CLEARCOATMAPUV 0
+#define PROP_CLEARCOATINVERTSMOOTHNESS 0
+#define PROP_CLEARCOAT 1
+#define PROP_CLEARCOATGLOSSINESS 0
+#define PROP_CLEARCOATANISOTROPY 0
+#define PROP_CLEARCOATENABLEREFLECTIONS 1
+#define PROP_CLEARCOATENABLESPECULAR 1
+#define PROP_CLEARCOATFORCEFALLBACK 0
+#define PROPM_END_CLEARCOAT 0
+#define PROPM_START_MATCAP 0
+#define PROP_MATCAPENABLE 0
+#define PROP_MATCAPBORDER 0.43
+#define PROP_MATCAPMASKUV 0
+#define PROP_MATCAPMASKINVERT 0
+#define PROP_MATCAPEMISSIONSTRENGTH 0
+#define PROP_MATCAPINTENSITY 1
+#define PROP_MATCAPLIGHTMASK 0
+#define PROP_MATCAPREPLACE 1
+#define PROP_MATCAPMULTIPLY 0
+#define PROP_MATCAPADD 0
+#define PROP_MATCAPNORMAL 1
+#define PROPM_START_MATCAPHUESHIFT 0
+#define PROP_MATCAPHUESHIFTENABLED 0
+#define PROP_MATCAPHUESHIFTSPEED 0
+#define PROP_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAP 0
+#define PROPM_START_MATCAP2 0
+#define PROP_MATCAP2ENABLE 0
+#define PROP_MATCAP2BORDER 0.43
+#define PROP_MATCAP2MASKUV 0
+#define PROP_MATCAP2MASKINVERT 0
+#define PROP_MATCAP2EMISSIONSTRENGTH 0
+#define PROP_MATCAP2INTENSITY 1
+#define PROP_MATCAP2LIGHTMASK 0
+#define PROP_MATCAP2REPLACE 0
+#define PROP_MATCAP2MULTIPLY 0
+#define PROP_MATCAP2ADD 0
+#define PROP_MATCAP2NORMAL 1
+#define PROPM_START_MATCAP2HUESHIFT 0
+#define PROP_MATCAP2HUESHIFTENABLED 0
+#define PROP_MATCAP2HUESHIFTSPEED 0
+#define PROP_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2 0
+#define PROPM_START_SPECULAR 0
+#define PROP_ENABLESPECULAR 0
+#define PROP_SPECULARTYPE 1
+#define PROP_SPECULARNORMAL 1
+#define PROP_SPECULARMETALLIC 0
+#define PROP_SPECULARMAXBRIGHTNESS 0
+#define PROP_SPECULARMETALLICMAPUV 0
+#define PROP_SPECULARSMOOTHNESS 1
+#define PROP_SPECULARMAPUV 0
+#define PROP_SPECULARINVERTSMOOTHNESS 0
+#define PROP_SPECULARMASKUV 0
+#define PROP_SMOOTHNESSFROM 1
+#define PROP_SPECWHATTANGENT 0
+#define PROP_ANISOSPEC1ALPHA 1
+#define PROP_ANISOSPEC2ALPHA 1
+#define PROP_SPEC1OFFSET 0
+#define PROP_SPEC2SMOOTHNESS 0
+#define PROP_ANISOUSETANGENTMAP 0
+#define PROP_ANISOTANGENTMAPUV 0
+#define PROP_SPECULARTOONSTART 0.95
+#define PROP_SPECULARTOONEND 1
+#define PROP_SPECULARANISOJITTERMIRRORED 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMICROUV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMACROUV 0
+#define PROPM_END_SPECULAR 0
+#define PROPM_START_SPECULAR1 0
+#define PROP_ENABLESPECULAR1 0
+#define PROP_SPECULARTYPE1 1
+#define PROP_SPECULARNORMAL1 1
+#define PROP_SPECULARMETALLIC1 0
+#define PROP_SPECULARMAXBRIGHTNESS1 0
+#define PROP_SPECULARMETALLICMAP1UV 0
+#define PROP_SPECULARSMOOTHNESS1 0.75
+#define PROP_SPECULARMAP1UV 0
+#define PROP_SPECULARINVERTSMOOTHNESS1 0
+#define PROP_SPECULARMASK1UV 0
+#define PROP_SMOOTHNESSFROM1 1
+#define PROP_SPECWHATTANGENT1 0
+#define PROP_ANISOSPEC1ALPHA1 1
+#define PROP_ANISOSPEC2ALPHA1 1
+#define PROP_SPEC1OFFSET1 0
+#define PROP_SPEC2SMOOTHNESS1 0
+#define PROP_ANISOUSETANGENTMAP1 0
+#define PROP_ANISOTANGENTMAP1UV 0
+#define PROP_SPECULARTOONSTART1 0.95
+#define PROP_SPECULARTOONEND1 1
+#define PROP_SPECULARANISOJITTERMIRRORED1 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMICRO1UV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMACRO1UV 0
+#define PROPM_END_SPECULAR1 0
+#define PROPM_SPECIAL_EFFECTS 0
+#define PROPM_START_EMISSIONOPTIONS 0
+#define PROP_ENABLEEMISSION 0
+#define PROP_EMISSIONREPLACE 0
+#define PROP_EMISSIONBASECOLORASMAP 0
+#define PROP_EMISSIONMAPUV 0
+#define PROP_EMISSIONMASKUV 0
+#define PROP_EMISSIONSTRENGTH 0
+#define PROP_EMISSIONHUESHIFTENABLED 0
+#define PROP_EMISSIONHUESHIFT 0
+#define PROP_EMISSIONHUESHIFTSPEED 0
+#define PROPM_START_CENTEROUTEMISSION 0
+#define PROP_EMISSIONCENTEROUTENABLED 0
+#define PROP_EMISSIONCENTEROUTSPEED 5
+#define PROPM_END_CENTEROUTEMISSION 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0
+#define PROP_ENABLEGITDEMISSION 0
+#define PROP_GITDEWORLDORMESH 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER 0
+#define PROP_GITDEMINLIGHT 0
+#define PROP_GITDEMAXLIGHT 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS 0
+#define PROP_EMISSIONBLINKINGENABLED 0
+#define PROP_EMISSIVEBLINK_MIN 0
+#define PROP_EMISSIVEBLINK_MAX 1
+#define PROP_EMISSIVEBLINK_VELOCITY 4
+#define PROP_EMISSIONBLINKINGOFFSET 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0
+#define PROP_SCROLLINGEMISSION 0
+#define PROP_EMISSIONSCROLLINGUSECURVE 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0
+#define PROP_EMISSIVESCROLL_WIDTH 10
+#define PROP_EMISSIVESCROLL_VELOCITY 10
+#define PROP_EMISSIVESCROLL_INTERVAL 20
+#define PROP_EMISSIONSCROLLINGOFFSET 0
+#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0
+#define PROPM_START_EMISSIONAUDIOLINK 0
+#define PROP_ENABLEEMISSIONSTRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSIONSTRENGTHBAND 0
+#define PROP_ENABLEEMISSIONCENTEROUTAUDIOLINK 0
+#define PROP_EMISSIONCENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTBAND 0
+#define PROP_EMISSIONCENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSIONBAND 0
+#define PROPM_END_EMISSIONAUDIOLINK 0
+#define PROPM_END_EMISSIONOPTIONS 0
+#define PROPM_START_EMISSION1OPTIONS 0
+#define PROP_ENABLEEMISSION1 0
+#define PROP_EMISSIONBASECOLORASMAP1 0
+#define PROP_EMISSIONMAP1UV 0
+#define PROP_EMISSIONMASK1UV 0
+#define PROP_EMISSIONSTRENGTH1 0
+#define PROP_EMISSIONHUESHIFTENABLED1 0
+#define PROP_EMISSIONHUESHIFT1 0
+#define PROP_EMISSIONHUESHIFTSPEED1 0
+#define PROPM_START_CENTEROUTEMISSION1 0
+#define PROP_EMISSIONCENTEROUTENABLED1 0
+#define PROP_EMISSIONCENTEROUTSPEED1 5
+#define PROPM_END_CENTEROUTEMISSION1 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROP_ENABLEGITDEMISSION1 0
+#define PROP_GITDEWORLDORMESH1 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER1 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0
+#define PROP_GITDEMINLIGHT1 0
+#define PROP_GITDEMAXLIGHT1 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0
+#define PROP_EMISSIONBLINKINGENABLED1 0
+#define PROP_EMISSIVEBLINK_MIN1 0
+#define PROP_EMISSIVEBLINK_MAX1 1
+#define PROP_EMISSIVEBLINK_VELOCITY1 4
+#define PROP_EMISSIONBLINKINGOFFSET1 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0
+#define PROP_SCROLLINGEMISSION1 0
+#define PROP_EMISSIONSCROLLINGUSECURVE1 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0
+#define PROP_EMISSIVESCROLL_WIDTH1 10
+#define PROP_EMISSIVESCROLL_VELOCITY1 10
+#define PROP_EMISSIVESCROLL_INTERVAL1 20
+#define PROP_EMISSIONSCROLLINGOFFSET1 0
+#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0
+#define PROPM_START_EMISSION1AUDIOLINK 0
+#define PROP_ENABLEEMISSION1STRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSION1STRENGTHBAND 0
+#define PROP_ENABLEEMISSION1CENTEROUTAUDIOLINK 0
+#define PROP_EMISSION1CENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTBAND 0
+#define PROP_EMISSION1CENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSION1BAND 0
+#define PROPM_END_EMISSION1AUDIOLINK 0
+#define PROPM_END_EMISSION1OPTIONS 0
+#define PROPM_START_PATHING 0
+#define PROP_ENABLEPATHING 0
+#define PROP_PATHINGMAPUV 0
+#define PROP_PATHINGCOLORMAPUV 0
+#define PROP_PATHTYPER 0
+#define PROP_PATHTYPEG 0
+#define PROP_PATHTYPEB 0
+#define PROPM_START_PATHAUDIOLINK 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDB 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDR 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDG 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDB 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDB 0
+#define PROPM_END_PATHAUDIOLINK 0
+#define PROPM_END_PATHING 0
+#define PROPM_START_FLIPBOOK 0
+#define PROP_ENABLEFLIPBOOK 0
+#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0
+#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0
+#define PROP_FLIPBOOKCOLORREPLACES 0
+#define PROP_FLIPBOOKTEXARRAYUV 0
+#define PROP_FLIPBOOKMASKUV 0
+#define PROP_FLIPBOOKTOTALFRAMES 1
+#define PROP_FLIPBOOKFPS 30
+#define PROP_FLIPBOOKTILED 0
+#define PROP_FLIPBOOKEMISSIONSTRENGTH 0
+#define PROP_FLIPBOOKROTATION 0
+#define PROP_FLIPBOOKROTATIONSPEED 0
+#define PROP_FLIPBOOKREPLACE 1
+#define PROP_FLIPBOOKMULTIPLY 0
+#define PROP_FLIPBOOKADD 0
+#define PROPM_START_FLIPBOOKAUDIOLINK 0
+#define PROP_AUDIOLINKFLIPBOOKSCALEBAND 0
+#define PROP_AUDIOLINKFLIPBOOKALPHABAND 0
+#define PROP_AUDIOLINKFLIPBOOKEMISSIONBAND 0
+#define PROP_AUDIOLINKFLIPBOOKFRAMEBAND 0
+#define PROPM_END_FLIPBOOKAUDIOLINK 0
+#define PROPM_START_MANUALFLIPBOOKCONTROL 0
+#define PROP_FLIPBOOKCURRENTFRAME -1
+#define PROPM_END_MANUALFLIPBOOKCONTROL 0
+#define PROPM_START_CROSSFADE 0
+#define PROP_FLIPBOOKCROSSFADEENABLED 0
+#define PROPM_END_CROSSFADE 0
+#define PROPM_START_FLIPBOOKHUESHIFT 0
+#define PROP_FLIPBOOKHUESHIFTENABLED 0
+#define PROP_FLIPBOOKHUESHIFTSPEED 0
+#define PROP_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOK 0
+#define PROPM_START_DISSOLVE 0
+#define PROP_ENABLEDISSOLVE 0
+#define PROP_DISSOLVETYPE 1
+#define PROP_DISSOLVEEDGEWIDTH 0.025
+#define PROP_DISSOLVEEDGEHARDNESS 0.5
+#define PROP_DISSOLVEEDGEEMISSION 0
+#define PROP_DISSOLVETOTEXTUREUV 0
+#define PROP_DISSOLVETOEMISSIONSTRENGTH 0
+#define PROP_DISSOLVENOISETEXTUREUV 0
+#define PROP_DISSOLVEINVERTNOISE 0
+#define PROP_DISSOLVEDETAILNOISEUV 0
+#define PROP_DISSOLVEINVERTDETAILNOISE 0
+#define PROP_DISSOLVEDETAILSTRENGTH 0.1
+#define PROP_DISSOLVEALPHA 0
+#define PROP_DISSOLVEUSEVERTEXCOLORS 0
+#define PROP_DISSOLVEMASKUV 0
+#define PROP_DISSOLVEMASKINVERT 0
+#define PROP_CONTINUOUSDISSOLVE 0
+#define PROPM_START_DISSOLVEMASKING 0
+#define PROP_DISSOLVEEMISSIONSIDE 2
+#define PROP_DISSOLVEEMISSION1SIDE 2
+#define PROPM_END_DISSOLVEMASKING 0
+#define PROPM_START_POINTTOPOINT 0
+#define PROP_DISSOLVEP2PWORLDLOCAL 0
+#define PROP_DISSOLVEP2PEDGELENGTH 0.1
+#define PROPM_END_POINTTOPOINT 0
+#define PROPM_START_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEHUESHIFTENABLED 0
+#define PROP_DISSOLVEHUESHIFTSPEED 0
+#define PROP_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEEDGEHUESHIFTENABLED 0
+#define PROP_DISSOLVEEDGEHUESHIFTSPEED 0
+#define PROP_DISSOLVEEDGEHUESHIFT 0
+#define PROPM_END_DISSOLVEHUESHIFT 0
+#define PROPM_START_BONUSSLIDERS 0
+#define PROP_DISSOLVEALPHA0 0
+#define PROP_DISSOLVEALPHA1 0
+#define PROP_DISSOLVEALPHA2 0
+#define PROP_DISSOLVEALPHA3 0
+#define PROP_DISSOLVEALPHA4 0
+#define PROP_DISSOLVEALPHA5 0
+#define PROP_DISSOLVEALPHA6 0
+#define PROP_DISSOLVEALPHA7 0
+#define PROP_DISSOLVEALPHA8 0
+#define PROP_DISSOLVEALPHA9 0
+#define PROPM_END_BONUSSLIDERS 0
+#define PROPM_START_DISSOLVEAUDIOLINK 0
+#define PROP_ENABLEDISSOLVEAUDIOLINK 0
+#define PROP_AUDIOLINKDISSOLVEALPHABAND 0
+#define PROP_AUDIOLINKDISSOLVEDETAILBAND 0
+#define PROPM_END_DISSOLVEAUDIOLINK 0
+#define PROPM_END_DISSOLVE 0
+#define PROPM_START_PANOSPHEREOPTIONS 0
+#define PROP_PANOTOGGLE 0
+#define PROP_PANOINFINITESTEREOTOGGLE 0
+#define PROP_PANOMASKUV 0
+#define PROP_PANOEMISSION 0
+#define PROP_PANOBLEND 0
+#define PROP_PANOCUBEMAPTOGGLE 0
+#define PROPM_END_PANOSPHEREOPTIONS 0
+#define PROPM_START_GLITTER 0
+#define PROP_GLITTERENABLE 0
+#define PROP_GLITTERMODE 0
+#define PROP_GLITTERSHAPE 0
+#define PROP_GLITTERBLENDTYPE 0
+#define PROP_GLITTERUSESURFACECOLOR 0
+#define PROP_GLITTERCOLORMAPUV 0
+#define PROP_GLITTERMASKUV 0
+#define PROP_GLITTERTEXTUREROTATION 0
+#define PROP_GLITTERFREQUENCY 300
+#define PROP_GLITTERJITTER 1
+#define PROP_GLITTERSPEED 10
+#define PROP_GLITTERSIZE 0.3
+#define PROP_GLITTERCONTRAST 300
+#define PROP_GLITTERANGLERANGE 90
+#define PROP_GLITTERMINBRIGHTNESS 0
+#define PROP_GLITTERBRIGHTNESS 3
+#define PROP_GLITTERBIAS 0.8
+#define PROP_GLITTERHIDEINSHADOW 0
+#define PROP_GLITTERCENTERSIZE 0.08
+#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20
+#define PROP_GLITTERJAGGYFIX 0
+#define PROPM_START_GLITTERHUESHIFT 0
+#define PROP_GLITTERHUESHIFTENABLED 0
+#define PROP_GLITTERHUESHIFTSPEED 0
+#define PROP_GLITTERHUESHIFT 0
+#define PROPM_END_GLITTERHUESHIFT 0
+#define PROPM_START_GLITTERRANDOM 0
+#define PROP_GLITTERRANDOMCOLORS 0
+#define PROP_GLITTERRANDOMSIZE 0
+#define PROP_GLITTERRANDOMROTATION 0
+#define PROPM_END_GLITTERRANDOM 0
+#define PROPM_END_GLITTER 0
+#define PROPM_START_TEXT 0
+#define PROP_TEXTPIXELRANGE 4
+#define PROP_TEXTENABLED 0
+#define PROPM_START_TEXTFPS 0
+#define PROP_TEXTFPSENABLED 0
+#define PROP_TEXTFPSUV 0
+#define PROP_TEXTFPSEMISSIONSTRENGTH 0
+#define PROP_TEXTFPSROTATION 0
+#define PROPM_END_TEXTFPS 0
+#define PROPM_START_TEXTPOSITION 0
+#define PROP_TEXTPOSITIONENABLED 0
+#define PROP_TEXTPOSITIONUV 0
+#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0
+#define PROP_TEXTPOSITIONROTATION 0
+#define PROPM_END_TEXTPOSITION 0
+#define PROPM_START_TEXTINSTANCETIME 0
+#define PROP_TEXTTIMEENABLED 0
+#define PROP_TEXTTIMEUV 0
+#define PROP_TEXTTIMEEMISSIONSTRENGTH 0
+#define PROP_TEXTTIMEROTATION 0
+#define PROPM_END_TEXTINSTANCETIME 0
+#define PROPM_END_TEXT 0
+#define PROPM_START_MIRROROPTIONS 0
+#define PROP_ENABLEMIRROROPTIONS 0
+#define PROP_MIRROR 0
+#define PROP_ENABLEMIRRORTEXTURE 0
+#define PROP_MIRRORTEXTUREUV 0
+#define PROPM_END_MIRROROPTIONS 0
+#define PROPM_START_DISTANCEFADE 0
+#define PROP_MAINFADETEXTUREUV 0
+#define PROP_MAINFADETYPE 1
+#define PROP_MAINMINALPHA 0
+#define PROP_MAINMAXALPHA 1
+#define PROP_MAINDISTANCEFADEMIN 0
+#define PROP_MAINDISTANCEFADEMAX 0
+#define PROPM_END_DISTANCEFADE 0
+#define PROPM_START_ANGULARFADE 0
+#define PROP_ENABLERANDOM 0
+#define PROP_ANGLETYPE 0
+#define PROP_ANGLECOMPARETO 0
+#define PROP_CAMERAANGLEMIN 45
+#define PROP_CAMERAANGLEMAX 90
+#define PROP_MODELANGLEMIN 45
+#define PROP_MODELANGLEMAX 90
+#define PROP_ANGLEMINALPHA 0
+#define PROPM_END_ANGULARFADE 0
+#define PROPM_START_DISTORTIONFLOW 0
+#define PROP_ENABLEDISTORTION 0
+#define PROP_DISTORTIONMASKUV 0
+#define PROP_DISTORTIONSTRENGTH 0.5
+#define PROP_DISTORTIONSTRENGTH1 0.5
+#define PROPM_START_DISTORTIONAUDIOLINK 0
+#define PROP_ENABLEDISTORTIONAUDIOLINK 0
+#define PROP_DISTORTIONSTRENGTHAUDIOLINKBAND 0
+#define PROP_DISTORTIONSTRENGTH1AUDIOLINKBAND 0
+#define PROPM_END_DISTORTIONAUDIOLINK 0
+#define PROPM_END_DISTORTIONFLOW 0
+#define PROPM_START_AUDIOLINK 0
+#define PROP_ENABLEAUDIOLINK 0
+#define PROP_AUDIOLINKHELP 0
+#define PROP_AUDIOLINKANIMTOGGLE 1
+#define PROP_AUDIOLINKDELAY 0
+#define PROP_AUDIOLINKAVERAGING 0
+#define PROP_AUDIOLINKAVERAGERANGE 0.5
+#define PROPM_START_AUDIOLINKDEBUG 0
+#define PROP_ENABLEAUDIOLINKDEBUG 0
+#define PROP_AUDIOLINKDEBUGTREBLE 0
+#define PROP_AUDIOLINKDEBUGHIGHMID 0
+#define PROP_AUDIOLINKDEBUGLOWMID 0
+#define PROP_AUDIOLINKDEBUGBASS 0
+#define PROP_AUDIOLINKDEBUGANIMATE 0
+#define PROP_AUDIOLINKTEXTUREVISUALIZATION 0
+#define PROPM_END_AUDIOLINKDEBUG 0
+#define PROPM_END_AUDIOLINK 0
+#define PROPM_PATREON 0
+#define PROPM_START_VIDEO 0
+#define PROP_ENABLEVIDEO 0
+#define PROP_VIDEOUVNUMBER 0
+#define PROP_VIDEOTYPE 3
+#define PROP_VIDEOBACKLIGHT 1
+#define PROP_VIDEOEMISSIONENABLED 1
+#define PROPM_START_VIDEOSETTINGS 0
+#define PROP_VIDEOENABLEVIDEOPLAYER 0
+#define PROP_VIDEOPIXELATETORESOLUTION 0
+#define PROP_VIDEOREPEATVIDEOTEXTURE 0
+#define PROP_VIDEOSATURATION 0
+#define PROP_VIDEOCONTRAST 0
+#define PROPM_END_VIDEOSETTINGS 0
+#define PROPM_START_VIDEODEBUG 0
+#define PROP_VIDEOENABLEDEBUG 0
+#define PROPM_END_VIDEODEBUG 0
+#define PROPM_START_CRT 0
+#define PROP_VIDEOCRTREFRESHRATE 24
+#define PROP_VIDEOCRTPIXELENERGIZEDTIME 1.9
+#define PROPM_END_CRT 0
+#define PROPM_START_GAMEBOY 0
+#define PROPM_END_GAMEBOY 0
+#define PROPM_END_VIDEO 0
+#define PROPM_START_TOUCHOPTIONS 0
+#define PROPM_START_BULGE 0
+#define PROP_ENABLEBULGE 0
+#define PROP_BULDGEFADELENGTH 0.02
+#define PROP_BULDGEHEIGHT 0.02
+#define PROPM_END_BULGE 0
+#define PROPM_START_TOUCHGLOW 0
+#define PROP_ENABLETOUCHGLOW 0
+#define PROP_DEPTHGRADIENTTEXTUREUV 0
+#define PROP_DEPTHGRADIENTBLEND 0
+#define PROP_DEPTHGRADIENTUV 0
+#define PROP_DEPTHMASKUV 0
+#define PROP_DEPTHGLOWEMISSION 3
+#define PROP_FADELENGTH 20
+#define PROP_DEPTHALPHAMIN 1
+#define PROP_DEPTHALPHAMAX 1
+#define PROPM_END_TOUCHGLOW 0
+#define PROPM_END_TOUCHOPTIONS 0
+#define PROPM_START_HOLOGRAM 0
+#define PROP_ENABLEHOLO 0
+#define PROP_HOLOCOORDINATESPACE 0
+#define PROP_HOLOLINEDENSITY 10
+#define PROP_HOLOSCROLLSPEED 1
+#define PROPM_START_FRESNELALPHA 0
+#define PROP_HOLOFRESNELALPHA 0
+#define PROP_HOLORIMSHARPNESS 0.5
+#define PROP_HOLORIMWIDTH 0.5
+#define PROPM_END_FRESNELALPHA 0
+#define PROPM_END_HOLOGRAM 0
+#define PROPM_START_IRIDESCENCE 0
+#define PROP_ENABLEIRIDESCENCE 0
+#define PROP_IRIDESCENCEPANSPEED 0
+#define PROP_IRIDESCENCEOFFSET 0
+#define PROP_IRIDESCENCENORMALTOGGLE 0
+#define PROP_IRIDESCENCENORMALINTENSITY 1
+#define PROP_IRIDESCENCENORMALUV 0
+#define PROP_IRIDESCENCEMASKUV 0
+#define PROP_IRIDESCENCENORMALSELECTION 1
+#define PROP_IRIDESCENCEINTENSITY 1
+#define PROP_IRIDESCENCEADDBLEND 0
+#define PROP_IRIDESCENCEREPLACEBLEND 0
+#define PROP_IRIDESCENCEMULTIPLYBLEND 0
+#define PROP_IRIDESCENCEEMISSIONSTRENGTH 0
+#define PROP_IRIDESCENCETIME 0
+#define PROP_IRIDESCENCEHUESHIFTENABLED 0
+#define PROP_IRIDESCENCEHUESHIFTSPEED 0
+#define PROP_IRIDESCENCEHUESHIFT 0
+#define PROPM_START_IRIDESCENCEAUDIOLINK 0
+#define PROP_IRIDESCENCEAUDIOLINKEMISSIONBAND 0
+#define PROPM_END_IRIDESCENCEAUDIOLINK 0
+#define PROPM_END_IRIDESCENCE 0
+#define PROPM_START_VERTEXGLITCH 0
+#define PROP_ENABLEVERTEXGLITCH 0
+#define PROP_VERTEXGLITCHFREQUENCY 0
+#define PROP_VERTEXGLITCHTHRESHOLD 1
+#define PROP_VERTEXGLITCHSTRENGTH 1
+#define PROPM_END_VERTEXGLITCH 0
+#define PROPM_START_SPAWNS 0
+#define PROPM_START_SCIFISPAWNIN 0
+#define PROP_ENABLESCIFISPAWNIN 0
+#define PROP_SPAWNINNOISEINTENSITY 0.35
+#define PROP_SPAWNINALPHA 0
+#define PROP_SPAWNINEMISSIONOFFSET 0.1
+#define PROP_SPAWNINVERTOFFSET 10
+#define PROP_SPAWNINVERTOFFSETOFFSET 0.1
+#define PROPM_END_SCIFISPAWNIN 0
+#define PROPM_END_SPAWNS 0
+#define PROPM_START_VORONOI 0
+#define PROP_VORONOITYPE 1
+#define PROP_VORONOISPACE 0
+#define PROP_VORONOIBLEND 0
+#define PROP_ENABLEVORONOI 0
+#define PROP_VORONOIEFFECTSMATERIALALPHA 0
+#define PROP_VORONOIMASKUV 0
+#define PROP_VORONOINOISEUV 0
+#define PROP_VORONOINOISEINTENSITY 0.1
+#define PROP_VORONOIEMISSION0 0
+#define PROP_VORONOIEMISSION1 0
+#define PROP_VORONOISCALE 5
+#define PROPM_START_VORONOIRANDOM 0
+#define PROP_VORONOIENABLERANDOMCELLCOLOR 0
+#define PROPM_END_VORONOIRANDOM 0
+#define PROPM_END_VORONOI 0
+#define PROPM_START_BLACKLIGHT 0
+#define PROP_BLACKLIGHTMASKENABLED 0
+#define PROP_BLACKLIGHTMASKDEBUG 0
+#define PROP_BLACKLIGHTMASKMETALLIC 4
+#define PROP_BLACKLIGHTMASKCLEARCOAT 4
+#define PROP_BLACKLIGHTMASKMATCAP 4
+#define PROP_BLACKLIGHTMASKMATCAP2 4
+#define PROP_BLACKLIGHTMASKEMISSION 4
+#define PROP_BLACKLIGHTMASKEMISSION2 4
+#define PROP_BLACKLIGHTMASKFLIPBOOK 4
+#define PROP_BLACKLIGHTMASKDISSOLVE 4
+#define PROP_BLACKLIGHTMASKPANOSPHERE 4
+#define PROP_BLACKLIGHTMASKGLITTER 4
+#define PROP_BLACKLIGHTMASKIRIDESCENCE 4
+#define PROPM_END_BLACKLIGHT 0
+#define PROPM_OUTLINEOPTIONS 0
+#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0
+#define PROP_OUTLINEMODE 0
+#define PROP_OUTLINETINTMIX 0
+#define PROP_OUTLINERIMLIGHTBLEND 0
+#define PROP_OUTLINEFIXEDSIZE 0
+#define PROP_OUTLINESMAXDISTANCE 9999
+#define PROP_OUTLINEUSEVERTEXCOLORS 0
+#define PROP_OUTLINELIT 1
+#define PROP_LINEWIDTH 0
+#define PROP_OUTLINEEMISSION 0
+#define PROP_OUTLINETEXTUREUV 0
+#define PROP_OUTLINEMASKUV 0
+#define PROP_OUTLINESHADOWSTRENGTH 1
+#define PROP_OUTLINEHUESHIFT 0
+#define PROP_OUTLINEHUEOFFSET 0
+#define PROP_OUTLINEHUEOFFSETSPEED 0
+#define PROPM_START_OUTLINEADVANCED 0
+#define PROP_OUTLINECULL 1
+#define PROP_OUTLINEOFFSETFACTOR 0
+#define PROP_OUTLINEOFFSETUNITS 0
+#define PROPM_END_OUTLINEADVANCED 0
+#define PROPM_PARALLAXMAP 0
+#define PROP_PARALLAXMAP 0
+#define PROP_PARALLAXHEIGHTMAPENABLED 0
+#define PROP_PARALLAXINTERNALMAPENABLED 0
+#define PROPM_START_PARALLAXHEIGHTMAP 0
+#define PROP_PARALLAXUV 0
+#define PROP_PARALLAXHEIGHTMAPMASKUV 0
+#define PROP_PARALLAXSTRENGTH 0
+#define PROPM_END_PARALLAXHEIGHTMAP 0
+#define PROPM_START_PARALLAXINTERNAL 0
+#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0
+#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0
+#define PROP_PARALLAXINTERNALMAPMASKUV 0
+#define PROP_PARALLAXINTERNALITERATIONS 1
+#define PROP_PARALLAXINTERNALMINDEPTH 0
+#define PROP_PARALLAXINTERNALMAXDEPTH 1
+#define PROP_PARALLAXINTERNALMINFADE 0
+#define PROP_PARALLAXINTERNALMAXFADE 1
+#define PROPM_END_PARALLAXINTERNAL 0
+#define PROPM_START_PARALLAXADVANCED 0
+#define PROP_PARALLAXBIAS 0.42
+#define PROPM_END_PARALLAXADVANCED 0
+#define PROPM_POSTPROCESSING 0
+#define PROP_PPHELP 0
+#define PROP_PPLIGHTINGMULTIPLIER 1
+#define PROP_PPEMISSIONMULTIPLIER 1
+#define PROPM_THIRDPARTY 1
+#define PROPM_START_RALIV 1
+#define PROP_RALIVHELP 0
+#define PROPM_START_RALIVPENETRATOR 1
+#define PROP_PENETRATORENABLED 1
+#define PROP_SQUEEZE 0.2
+#define PROP_SQUEEZEDIST 0.0259
+#define PROP_BULGEPOWER 0.00072
+#define PROP_BULGEOFFSET 0.053
+#define PROP_LENGTH 0.3580336
+#define PROP_ENTRANCESTIFFNESS 0.01
+#define PROP_CURVATURE 0
+#define PROP_RECURVATURE 0
+#define PROP_WRIGGLE 0
+#define PROP_WRIGGLESPEED 6.2
+#define PROP__DIRTY 0
+#define PROPM_END_RALIVPENETRATOR 0
+#define PROPM_START_RALIVORIFACE 0
+#define PROP_ORIFACEENABLED 0
+#define PROP_ENTRYOPENDURATION 0.1
+#define PROP_SHAPE1DEPTH 0.1
+#define PROP_SHAPE1DURATION 0.1
+#define PROP_SHAPE2DEPTH 0.2
+#define PROP_SHAPE2DURATION 0.1
+#define PROP_SHAPE3DEPTH 0.3
+#define PROP_SHAPE3DURATION 0.1
+#define PROP_BLENDSHAPEPOWER 1
+#define PROP_BLENDSHAPEBADSCALEFIX 1
+#define PROPM_END_RALIVORIFACE 0
+#define PROPM_START_RALIVADVANCED 1
+#define PROP_RALIVADVANCEDHELP 0
+#define PROP_ORIFICECHANNEL 0
+#define PROPM_END_RALIVADVANCED 0
+#define PROPM_END_RALIV 0
+#define PROPM_RENDERINGOPTIONS 0
+#define PROP_CULL 2
+#define PROP_ZTEST 4
+#define PROP_ZWRITE 1
+#define PROP_COLORMASK 15
+#define PROP_OFFSETFACTOR 0
+#define PROP_OFFSETUNITS 0
+#define PROP_IGNOREFOG 0
+#define PROPINSTANCING 0
+#define PROPM_START_BLENDING 0
+#define PROP_BLENDOP 0
+#define PROP_BLENDOPALPHA 0
+#define PROP_SRCBLEND 1
+#define PROP_DSTBLEND 0
+#define PROPM_END_BLENDING 0
+#define PROPM_START_STENCILPASSOPTIONS 0
+#define PROP_STENCILREF 0
+#define PROP_STENCILREADMASK 255
+#define PROP_STENCILWRITEMASK 255
+#define PROP_STENCILPASSOP 0
+#define PROP_STENCILFAILOP 0
+#define PROP_STENCILZFAILOP 0
+#define PROP_STENCILCOMPAREFUNCTION 8
+#define PROPM_END_STENCILPASSOPTIONS 0
+#define PROPM_START_OUTLINESTENCIL 0
+#define PROP_OUTLINESTENCILREF 0
+#define PROP_OUTLINESTENCILREADMASK 255
+#define PROP_OUTLINESTENCILWRITEMASK 255
+#define PROP_OUTLINESTENCILPASSOP 0
+#define PROP_OUTLINESTENCILFAILOP 0
+#define PROP_OUTLINESTENCILZFAILOP 0
+#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8
+#define PROPM_END_OUTLINESTENCIL 0
+#define PROPM_START_DEBUGOPTIONS 0
+#define PROP_DEBUGENABLED 0
+#define PROP_VERTEXUNWRAP 0
+#define PROP_DEBUGMESHDATA 0
+#define PROP_DEBUGLIGHTINGDATA 0
+#define PROP_DEBUGCAMERADATA 0
+#define PROPM_END_DEBUGOPTIONS 0
+
+ #pragma target 5.0
+ #define FORWARD_ADD_PASS
+ float _Mode;
+ #pragma multi_compile_instancing
+ #pragma multi_compile_fwdadd_fullshadows
+ #pragma vertex vert
+ #pragma fragment frag
+ #include "/CGI_PoiPass.cginc"
+ ENDCG
+ }
+ Pass
+ {
+ Name "ShadowCasterPass"
+ Tags { "LightMode" = "ShadowCaster" }
+ Stencil
+ {
+ Ref [_StencilRef]
+ Comp [_StencilCompareFunction]
+ Pass [_StencilPassOp]
+ Fail [_StencilFailOp]
+ ZFail [_StencilZFailOp]
+ }
+ AlphaToMask Off
+ ZWrite [_ZWrite]
+ Cull [_Cull]
+ ZTest [_ZTest]
+ ColorMask [_ColorMask]
+ Offset [_OffsetFactor], [_OffsetUnits]
+ CGPROGRAM
+#define OPTIMIZER_ENABLED
+#define VIGNETTE_MASKED
+#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+#define PROPSHADER_IS_USING_THRY_EDITOR 69
+#define PROPSHADER_MASTER_LABEL 0
+#define PROPSHADER_PRESETS 0
+#define PROPSHADER_PROPERTIES_LABEL_FILE 0
+#define PROPFOOTER_YOUTUBE 0
+#define PROPFOOTER_TWITTER 0
+#define PROPFOOTER_PATREON 0
+#define PROPFOOTER_DISCORD 0
+#define PROPFOOTER_GITHUB 0
+#define PROP_FORGOTTOLOCKMATERIAL 1
+#define PROP_SHADEROPTIMIZERENABLED 0
+#define PROP_LOCKTOOLTIP 0
+#define PROP_MODE 0
+#define PROPM_MAINOPTIONS 0
+#define PROP_MAINTEX
+#define PROP_MAINTEXTUREUV 0
+#define PROP_MAINEMISSIONSTRENGTH 0
+#define PROP_BUMPMAP
+#define PROP_BUMPMAPUV 0
+#define PROP_BUMPSCALE 1
+#define PROP_CLIPPINGMASKUV 0
+#define PROP_INVERSE_CLIPPING 0
+#define PROPM_START_MAINHUESHIFT 0
+#define PROP_MAINCOLORADJUSTTEXTUREUV 0
+#define PROP_MAINHUESHIFTREPLACE 1
+#define PROP_MAINHUESHIFT 0
+#define PROP_MAINHUESHIFTSPEED 0
+#define PROP_SATURATION 1
+#define PROP_MAINBRIGHTNESS 0
+#define PROP_MAINHUESHIFTTOGGLE 0
+#define PROPM_END_MAINHUESHIFT 0
+#define PROPM_START_RGBMASK 0
+#define PROP_RGBMASKENABLED 0
+#define PROP_RGBUSEVERTEXCOLORS 0
+#define PROP_RGBBLENDMULTIPLICATIVE 0
+#define PROP_RGBMASKUV 0
+#define PROP_RGBRED_UV 0
+#define PROP_RGBGREEN_UV 0
+#define PROP_RGBBLUE_UV 0
+#define PROP_RGBALPHA_UV 0
+#define PROP_RGBNORMALSENABLED 0
+#define PROP_RGBNORMALBLEND 0
+#define PROP_RGBNORMALRUV 0
+#define PROP_RGBNORMALRSCALE 0
+#define PROP_RGBNORMALGUV 0
+#define PROP_RGBNORMALGSCALE 0
+#define PROP_RGBNORMALBUV 0
+#define PROP_RGBNORMALBSCALE 0
+#define PROP_RGBNORMALAUV 0
+#define PROP_RGBNORMALASCALE 0
+#define PROPM_END_RGBMASK 0
+#define PROPM_START_DETAILOPTIONS 0
+#define PROP_DETAILENABLED 0
+#define PROP_DETAILMASKUV 0
+#define PROP_DETAILTEXUV 0
+#define PROP_DETAILTEXINTENSITY 1
+#define PROP_DETAILBRIGHTNESS 1
+#define PROP_DETAILNORMALMAPSCALE 1
+#define PROP_DETAILNORMALMAPUV 0
+#define PROPM_END_DETAILOPTIONS 0
+#define PROPM_START_MAINVERTEXCOLORS 0
+#define PROP_MAINVERTEXCOLORINGLINEARSPACE 1
+#define PROP_MAINVERTEXCOLORING 0
+#define PROP_MAINUSEVERTEXCOLORALPHA 0
+#define PROPM_END_MAINVERTEXCOLORS 0
+#define PROPM_START_VERTEXMANIPULATION 0
+#define PROP_VERTEXMANIPULATIONSENABLED 0
+#define PROP_VERTEXMANIPULATIONHEIGHT 0
+#define PROP_VERTEXMANIPULATIONHEIGHTUV 0
+#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0
+#define PROP_VERTEXROUNDINGENABLED 0
+#define PROP_VERTEXROUNDINGDIVISION 500
+#define PROPM_END_VERTEXMANIPULATION 0
+#define PROPM_START_ALPHA 0
+#define PROP_CUTOFF 0.5
+#define PROP_DITHERINGENABLED 0
+#define PROP_DITHERGRADIENT 0.1
+#define PROP_FORCEOPAQUE 0
+#define PROP_MAINSHADOWCLIPMOD 0
+#define PROP_ALPHATOMASK 0
+#define PROP_MAINALPHATOCOVERAGE 0
+#define PROP_MAINMIPSCALE 0.25
+#define PROP_ALPHAPREMULTIPLY 0
+#define PROP_ALPHAMOD 0
+#define PROPM_END_ALPHA 0
+#define PROPM_START_DECALSECTION 0
+#define PROP_DECALMASKUV 0
+#define PROPM_START_DECAL0 0
+#define PROP_DECALENABLED 0
+#define PROP_DECALEMISSIONSTRENGTH 0
+#define PROP_DECALTEXTUREUV 0
+#define PROP_DECALTILED 0
+#define PROP_DECAL0DEPTH 0
+#define PROP_DECALROTATION 0
+#define PROP_DECALROTATIONSPEED 0
+#define PROP_DECALBLENDTYPE 0
+#define PROP_DECALBLENDALPHA 1
+#define PROP_DECALHUESHIFTENABLED 0
+#define PROP_DECALHUESHIFTSPEED 0
+#define PROP_DECALHUESHIFT 0
+#define PROPM_START_DECAL0AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL0SCALEBAND 0
+#define PROP_AUDIOLINKDECAL0ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL0ALPHABAND 0
+#define PROP_AUDIOLINKDECAL0EMISSIONBAND 0
+#define PROPM_END_DECAL0AUDIOLINK 0
+#define PROPM_END_DECAL0 0
+#define PROPM_START_DECAL1 0
+#define PROP_DECALENABLED1 0
+#define PROP_DECALEMISSIONSTRENGTH1 0
+#define PROP_DECALTEXTURE1UV 0
+#define PROP_DECALTILED1 0
+#define PROP_DECAL1DEPTH 0
+#define PROP_DECALROTATION1 0
+#define PROP_DECALROTATIONSPEED1 0
+#define PROP_DECALBLENDTYPE1 0
+#define PROP_DECALBLENDALPHA1 1
+#define PROP_DECALHUESHIFTENABLED1 0
+#define PROP_DECALHUESHIFTSPEED1 0
+#define PROP_DECALHUESHIFT1 0
+#define PROPM_START_DECAL1AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL1SCALEBAND 0
+#define PROP_AUDIOLINKDECAL1ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL1ALPHABAND 0
+#define PROP_AUDIOLINKDECAL1EMISSIONBAND 0
+#define PROPM_END_DECAL1AUDIOLINK 0
+#define PROPM_END_DECAL1 0
+#define PROPM_START_DECAL2 0
+#define PROP_DECALENABLED2 0
+#define PROP_DECALEMISSIONSTRENGTH2 0
+#define PROP_DECALTEXTURE2UV 0
+#define PROP_DECALTILED2 0
+#define PROP_DECAL2DEPTH 0
+#define PROP_DECALROTATION2 0
+#define PROP_DECALROTATIONSPEED2 0
+#define PROP_DECALBLENDTYPE2 0
+#define PROP_DECALBLENDALPHA2 1
+#define PROP_DECALHUESHIFTENABLED2 0
+#define PROP_DECALHUESHIFTSPEED2 0
+#define PROP_DECALHUESHIFT2 0
+#define PROPM_START_DECAL2AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL2SCALEBAND 0
+#define PROP_AUDIOLINKDECAL2ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL2ALPHABAND 0
+#define PROP_AUDIOLINKDECAL2EMISSIONBAND 0
+#define PROPM_END_DECAL2AUDIOLINK 0
+#define PROPM_END_DECAL2 0
+#define PROPM_START_DECAL3 0
+#define PROP_DECALENABLED3 0
+#define PROP_DECALEMISSIONSTRENGTH3 0
+#define PROP_DECALTEXTURE3UV 0
+#define PROP_DECALTILED3 0
+#define PROP_DECAL3DEPTH 0
+#define PROP_DECALROTATION3 0
+#define PROP_DECALROTATIONSPEED3 0
+#define PROP_DECALBLENDTYPE3 0
+#define PROP_DECALBLENDALPHA3 1
+#define PROP_DECALHUESHIFTENABLED3 0
+#define PROP_DECALHUESHIFTSPEED3 0
+#define PROP_DECALHUESHIFT3 0
+#define PROPM_START_DECAL3AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL3SCALEBAND 0
+#define PROP_AUDIOLINKDECAL3ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL3ALPHABAND 0
+#define PROP_AUDIOLINKDECAL3EMISSIONBAND 0
+#define PROPM_END_DECAL3AUDIOLINK 0
+#define PROPM_END_DECAL3 0
+#define PROPM_END_DECALSECTION 0
+#define PROPM_START_BACKFACE 0
+#define PROP_BACKFACEENABLED 0
+#define PROP_BACKFACEREPLACEALPHA 0
+#define PROP_BACKFACETEXTUREUV 0
+#define PROP_BACKFACEDETAILINTENSITY 1
+#define PROP_BACKFACEHUESHIFT 0
+#define PROP_BACKFACEEMISSIONSTRENGTH 0
+#define PROPM_END_BACKFACE 0
+#define PROPM_LIGHTINGOPTIONS 0
+#define PROPM_START_LIGHTING 0
+#define PROP_ENABLELIGHTING 1
+#define PROP_LIGHTINGMODE 0
+#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0
+#define PROP_LIGHTINGWRAPPEDWRAP 0
+#define PROP_LIGHTINGWRAPPEDNORMALIZATION 0
+#define PROP_LIGHTINGRAMPTYPE 0
+#define PROP_1ST_SHADEMAPUV 0
+#define PROP_USE_1STSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_1STSHADEMAPMASK_INVERSE 0
+#define PROP_USE_BASEAS1ST 0
+#define PROP_2ND_SHADEMAPUV 0
+#define PROP_USE_2NDSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_2NDSHADEMAPMASK_INVERSE 0
+#define PROP_USE_1STAS2ND 0
+#define PROP_BASECOLOR_STEP 0.5
+#define PROP_BASESHADE_FEATHER 0.0001
+#define PROP_SHADECOLOR_STEP 0
+#define PROP_1ST2ND_SHADES_FEATHER 0.0001
+#define PROP_TOONRAMP
+#define PROP_LIGHTINGSHADOWMASKUV 0
+#define PROP_SHADOWOFFSET 0
+#define PROP_LIGHTINGGRADIENTSTART 0
+#define PROP_LIGHTINGGRADIENTEND 0.5
+#define PROP_SSSSCALE 1
+#define PROP_SSSBUMPBLUR 0.7
+#define PROP_SHADOWSTRENGTH 0.156
+#define PROP_ATTENUATIONMULTIPLIER 0
+#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0
+#define PROPM_START_LIGHTINGMODIFIERS 0
+#define PROP_LIGHTINGDIRECTCOLORMODE 0
+#define PROP_LIGHTINGINDIRECTCOLORMODE 0
+#define PROP_LIGHTINGUNCAPPED 0
+#define PROP_LIGHTINGONLYUNITYSHADOWS 0
+#define PROP_LIGHTINGMONOCHROMATIC 0
+#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0
+#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0
+#define PROPM_END_LIGHTINGMODIFIERS 0
+#define PROPM_START_DETAILSHADOWS 0
+#define PROP_LIGHTINGDETAILSHADOWSENABLED 0
+#define PROP_LIGHTINGDETAILSHADOWSUV 0
+#define PROP_LIGHTINGDETAILSTRENGTH 1
+#define PROPM_END_DETAILSHADOWS 0
+#define PROPM_START_AMBIENTOCCLUSION 0
+#define PROP_LIGHTINGENABLEAO 0
+#define PROP_LIGHTINGAOTEXUV 0
+#define PROP_AOSTRENGTH 1
+#define PROPM_END_AMBIENTOCCLUSION 0
+#define PROPM_START_LIGHTINGHSL 0
+#define PROP_LIGHTINGENABLEHSL 0
+#define PROP_LIGHTINGHSLINTENSITY 1
+#define PROP_LIGHTINGSHADOWHUE 0.5
+#define PROP_LIGHTINGSHADOWSATURATION 0.5
+#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5
+#define PROPM_END_LIGHTINGHSL 0
+#define PROPM_START_LIGHTINGADVANCED 0
+#define PROP_LIGHTINGADDITIVEENABLE 1
+#define PROP_LIGHTINGADDITIVETYPE 1
+#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0
+#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5
+#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5
+#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1
+#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0
+#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1
+#define PROP_DISABLEDIRECTIONALINADD 1
+#define PROPM_END_LIGHTINGADVANCED 0
+#define PROPM_END_LIGHTING 0
+#define PROPM_START_SUBSURFACE 0
+#define PROP_ENABLESSS 0
+#define PROP_SSSTHICKNESSMAPUV 0
+#define PROP_SSSTHICKNESSMOD 0
+#define PROP_SSSSCALE 0.25
+#define PROP_SSSPOWER 5
+#define PROP_SSSDISTORTION 1
+#define PROPM_END_SUBSURFACE 0
+#define PROPM_START_RIMLIGHTOPTIONS 0
+#define PROP_ENABLERIMLIGHTING 0
+#define PROP_RIMLIGHTNORMAL 1
+#define PROP_RIMLIGHTINGINVERT 0
+#define PROP_RIMWIDTH 0.8
+#define PROP_RIMSHARPNESS 0.1
+#define PROP_RIMSTRENGTH 0
+#define PROP_RIMBRIGHTEN 0
+#define PROP_RIMLIGHTCOLORBIAS 1
+#define PROP_RIMTEXUV 0
+#define PROP_RIMMASKUV 0
+#define PROPM_START_RIMHUESHIFT 0
+#define PROP_RIMHUESHIFTENABLED 0
+#define PROP_RIMHUESHIFTSPEED 0
+#define PROP_RIMHUESHIFT 0
+#define PROPM_END_RIMHUESHIFT 0
+#define PROPM_START_RIMWIDTHNOISE 0
+#define PROP_RIMWIDTHNOISETEXTUREUV 0
+#define PROP_RIMWIDTHNOISESTRENGTH 0.1
+#define PROPM_END_RIMWIDTHNOISE 0
+#define PROPM_START_SHADOWMIX 0
+#define PROP_SHADOWMIX 0
+#define PROP_SHADOWMIXTHRESHOLD 0.5
+#define PROP_SHADOWMIXWIDTHMOD 0.5
+#define PROPM_END_SHADOWMIX 0
+#define PROPM_START_RIMAUDIOLINK 0
+#define PROP_AUDIOLINKRIMWIDTHBAND 0
+#define PROP_AUDIOLINKRIMEMISSIONBAND 0
+#define PROP_AUDIOLINKRIMBRIGHTNESSBAND 0
+#define PROPM_END_RIMAUDIOLINK 0
+#define PROPM_END_RIMLIGHTOPTIONS 0
+#define PROPM_START_REFLECTIONRIM 0
+#define PROP_ENABLEENVIRONMENTALRIM 0
+#define PROP_RIMENVIROMASKUV 0
+#define PROP_RIMENVIROBLUR 0.7
+#define PROP_RIMENVIROWIDTH 0.45
+#define PROP_RIMENVIROSHARPNESS 0
+#define PROP_RIMENVIROMINBRIGHTNESS 0
+#define PROP_RIMENVIROINTENSITY 1
+#define PROPM_END_REFLECTIONRIM 0
+#define PROPM_START_BAKEDLIGHTING 0
+#define PROP_SPECULARLMOCCLUSION 0
+#define PROP_SPECLMOCCLUSIONADJUST 0.2
+#define PROP_GIEMISSIONMULTIPLIER 1
+#define PROPDSGI 0
+#define PROPLIGHTMAPFLAGS 0
+#define PROPM_END_BAKEDLIGHTING 0
+#define PROP_LOCKTOOLTIP 0
+#define PROPM_START_BRDF 0
+#define PROP_ENABLEBRDF 0
+#define PROP_BRDFMETALLICGLOSSMAPTOOLTIP 0
+#define PROP_BRDFINVERTGLOSSINESS 0
+#define PROP_BRDFMETALLICGLOSSMAPUV 0
+#define PROP_BRDFSPECULARMAPTOOLTIP 0
+#define PROP_BRDFSPECULARMAPUV 0
+#define PROP_BRDFMETALLICMAPTOOLTIP 0
+#define PROP_BRDFMETALLICMAPUV 0
+#define PROP_BRDFMETALLIC 0
+#define PROP_BRDFGLOSSINESS 0
+#define PROP_BRDFREFLECTANCE 0.5
+#define PROP_BRDFANISOTROPY 0
+#define PROP_BRDFMETALLICSPECIGNORESBASECOLOR 0
+#define PROP_BRDFREFLECTIONSENABLED 1
+#define PROP_BRDFSPECULARENABLED 1
+#define PROP_BRDFFALLBACK
+#define PROP_BRDFFORCEFALLBACK 0
+#define PROPM_END_BRDF 0
+#define PROPM_START_METALLIC 0
+#define PROP_ENABLEMETALLIC 0
+#define PROP_CUBEMAP
+#define PROP_SAMPLEWORLD 0
+#define PROP_METALLICTINTMAPUV 0
+#define PROP_METALLICMASKUV 0
+#define PROP_METALLIC 0
+#define PROP_SMOOTHNESSMASKUV 0
+#define PROP_INVERTSMOOTHNESS 0
+#define PROP_SMOOTHNESS 0.106
+#define PROPM_END_METALLIC 0
+#define PROPM_START_CLEARCOAT 0
+#define PROP_ENABLECLEARCOAT 0
+#define PROP_CLEARCOATHELPBOX 0
+#define PROP_CLEARCOATMAPUV 0
+#define PROP_CLEARCOATINVERTSMOOTHNESS 0
+#define PROP_CLEARCOAT 1
+#define PROP_CLEARCOATGLOSSINESS 0
+#define PROP_CLEARCOATANISOTROPY 0
+#define PROP_CLEARCOATENABLEREFLECTIONS 1
+#define PROP_CLEARCOATENABLESPECULAR 1
+#define PROP_CLEARCOATFORCEFALLBACK 0
+#define PROPM_END_CLEARCOAT 0
+#define PROPM_START_MATCAP 0
+#define PROP_MATCAPENABLE 0
+#define PROP_MATCAPBORDER 0.43
+#define PROP_MATCAPMASKUV 0
+#define PROP_MATCAPMASKINVERT 0
+#define PROP_MATCAPEMISSIONSTRENGTH 0
+#define PROP_MATCAPINTENSITY 1
+#define PROP_MATCAPLIGHTMASK 0
+#define PROP_MATCAPREPLACE 1
+#define PROP_MATCAPMULTIPLY 0
+#define PROP_MATCAPADD 0
+#define PROP_MATCAPNORMAL 1
+#define PROPM_START_MATCAPHUESHIFT 0
+#define PROP_MATCAPHUESHIFTENABLED 0
+#define PROP_MATCAPHUESHIFTSPEED 0
+#define PROP_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAP 0
+#define PROPM_START_MATCAP2 0
+#define PROP_MATCAP2ENABLE 0
+#define PROP_MATCAP2BORDER 0.43
+#define PROP_MATCAP2MASKUV 0
+#define PROP_MATCAP2MASKINVERT 0
+#define PROP_MATCAP2EMISSIONSTRENGTH 0
+#define PROP_MATCAP2INTENSITY 1
+#define PROP_MATCAP2LIGHTMASK 0
+#define PROP_MATCAP2REPLACE 0
+#define PROP_MATCAP2MULTIPLY 0
+#define PROP_MATCAP2ADD 0
+#define PROP_MATCAP2NORMAL 1
+#define PROPM_START_MATCAP2HUESHIFT 0
+#define PROP_MATCAP2HUESHIFTENABLED 0
+#define PROP_MATCAP2HUESHIFTSPEED 0
+#define PROP_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2 0
+#define PROPM_START_SPECULAR 0
+#define PROP_ENABLESPECULAR 0
+#define PROP_SPECULARTYPE 1
+#define PROP_SPECULARNORMAL 1
+#define PROP_SPECULARMETALLIC 0
+#define PROP_SPECULARMAXBRIGHTNESS 0
+#define PROP_SPECULARMETALLICMAPUV 0
+#define PROP_SPECULARSMOOTHNESS 1
+#define PROP_SPECULARMAPUV 0
+#define PROP_SPECULARINVERTSMOOTHNESS 0
+#define PROP_SPECULARMASKUV 0
+#define PROP_SMOOTHNESSFROM 1
+#define PROP_SPECWHATTANGENT 0
+#define PROP_ANISOSPEC1ALPHA 1
+#define PROP_ANISOSPEC2ALPHA 1
+#define PROP_SPEC1OFFSET 0
+#define PROP_SPEC2SMOOTHNESS 0
+#define PROP_ANISOUSETANGENTMAP 0
+#define PROP_ANISOTANGENTMAPUV 0
+#define PROP_SPECULARTOONSTART 0.95
+#define PROP_SPECULARTOONEND 1
+#define PROP_SPECULARANISOJITTERMIRRORED 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMICROUV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMACROUV 0
+#define PROPM_END_SPECULAR 0
+#define PROPM_START_SPECULAR1 0
+#define PROP_ENABLESPECULAR1 0
+#define PROP_SPECULARTYPE1 1
+#define PROP_SPECULARNORMAL1 1
+#define PROP_SPECULARMETALLIC1 0
+#define PROP_SPECULARMAXBRIGHTNESS1 0
+#define PROP_SPECULARMETALLICMAP1UV 0
+#define PROP_SPECULARSMOOTHNESS1 0.75
+#define PROP_SPECULARMAP1UV 0
+#define PROP_SPECULARINVERTSMOOTHNESS1 0
+#define PROP_SPECULARMASK1UV 0
+#define PROP_SMOOTHNESSFROM1 1
+#define PROP_SPECWHATTANGENT1 0
+#define PROP_ANISOSPEC1ALPHA1 1
+#define PROP_ANISOSPEC2ALPHA1 1
+#define PROP_SPEC1OFFSET1 0
+#define PROP_SPEC2SMOOTHNESS1 0
+#define PROP_ANISOUSETANGENTMAP1 0
+#define PROP_ANISOTANGENTMAP1UV 0
+#define PROP_SPECULARTOONSTART1 0.95
+#define PROP_SPECULARTOONEND1 1
+#define PROP_SPECULARANISOJITTERMIRRORED1 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMICRO1UV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMACRO1UV 0
+#define PROPM_END_SPECULAR1 0
+#define PROPM_SPECIAL_EFFECTS 0
+#define PROPM_START_EMISSIONOPTIONS 0
+#define PROP_ENABLEEMISSION 0
+#define PROP_EMISSIONREPLACE 0
+#define PROP_EMISSIONBASECOLORASMAP 0
+#define PROP_EMISSIONMAPUV 0
+#define PROP_EMISSIONMASKUV 0
+#define PROP_EMISSIONSTRENGTH 0
+#define PROP_EMISSIONHUESHIFTENABLED 0
+#define PROP_EMISSIONHUESHIFT 0
+#define PROP_EMISSIONHUESHIFTSPEED 0
+#define PROPM_START_CENTEROUTEMISSION 0
+#define PROP_EMISSIONCENTEROUTENABLED 0
+#define PROP_EMISSIONCENTEROUTSPEED 5
+#define PROPM_END_CENTEROUTEMISSION 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0
+#define PROP_ENABLEGITDEMISSION 0
+#define PROP_GITDEWORLDORMESH 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER 0
+#define PROP_GITDEMINLIGHT 0
+#define PROP_GITDEMAXLIGHT 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS 0
+#define PROP_EMISSIONBLINKINGENABLED 0
+#define PROP_EMISSIVEBLINK_MIN 0
+#define PROP_EMISSIVEBLINK_MAX 1
+#define PROP_EMISSIVEBLINK_VELOCITY 4
+#define PROP_EMISSIONBLINKINGOFFSET 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0
+#define PROP_SCROLLINGEMISSION 0
+#define PROP_EMISSIONSCROLLINGUSECURVE 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0
+#define PROP_EMISSIVESCROLL_WIDTH 10
+#define PROP_EMISSIVESCROLL_VELOCITY 10
+#define PROP_EMISSIVESCROLL_INTERVAL 20
+#define PROP_EMISSIONSCROLLINGOFFSET 0
+#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0
+#define PROPM_START_EMISSIONAUDIOLINK 0
+#define PROP_ENABLEEMISSIONSTRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSIONSTRENGTHBAND 0
+#define PROP_ENABLEEMISSIONCENTEROUTAUDIOLINK 0
+#define PROP_EMISSIONCENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTBAND 0
+#define PROP_EMISSIONCENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSIONBAND 0
+#define PROPM_END_EMISSIONAUDIOLINK 0
+#define PROPM_END_EMISSIONOPTIONS 0
+#define PROPM_START_EMISSION1OPTIONS 0
+#define PROP_ENABLEEMISSION1 0
+#define PROP_EMISSIONBASECOLORASMAP1 0
+#define PROP_EMISSIONMAP1UV 0
+#define PROP_EMISSIONMASK1UV 0
+#define PROP_EMISSIONSTRENGTH1 0
+#define PROP_EMISSIONHUESHIFTENABLED1 0
+#define PROP_EMISSIONHUESHIFT1 0
+#define PROP_EMISSIONHUESHIFTSPEED1 0
+#define PROPM_START_CENTEROUTEMISSION1 0
+#define PROP_EMISSIONCENTEROUTENABLED1 0
+#define PROP_EMISSIONCENTEROUTSPEED1 5
+#define PROPM_END_CENTEROUTEMISSION1 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROP_ENABLEGITDEMISSION1 0
+#define PROP_GITDEWORLDORMESH1 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER1 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0
+#define PROP_GITDEMINLIGHT1 0
+#define PROP_GITDEMAXLIGHT1 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0
+#define PROP_EMISSIONBLINKINGENABLED1 0
+#define PROP_EMISSIVEBLINK_MIN1 0
+#define PROP_EMISSIVEBLINK_MAX1 1
+#define PROP_EMISSIVEBLINK_VELOCITY1 4
+#define PROP_EMISSIONBLINKINGOFFSET1 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0
+#define PROP_SCROLLINGEMISSION1 0
+#define PROP_EMISSIONSCROLLINGUSECURVE1 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0
+#define PROP_EMISSIVESCROLL_WIDTH1 10
+#define PROP_EMISSIVESCROLL_VELOCITY1 10
+#define PROP_EMISSIVESCROLL_INTERVAL1 20
+#define PROP_EMISSIONSCROLLINGOFFSET1 0
+#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0
+#define PROPM_START_EMISSION1AUDIOLINK 0
+#define PROP_ENABLEEMISSION1STRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSION1STRENGTHBAND 0
+#define PROP_ENABLEEMISSION1CENTEROUTAUDIOLINK 0
+#define PROP_EMISSION1CENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTBAND 0
+#define PROP_EMISSION1CENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSION1BAND 0
+#define PROPM_END_EMISSION1AUDIOLINK 0
+#define PROPM_END_EMISSION1OPTIONS 0
+#define PROPM_START_PATHING 0
+#define PROP_ENABLEPATHING 0
+#define PROP_PATHINGMAPUV 0
+#define PROP_PATHINGCOLORMAPUV 0
+#define PROP_PATHTYPER 0
+#define PROP_PATHTYPEG 0
+#define PROP_PATHTYPEB 0
+#define PROPM_START_PATHAUDIOLINK 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDB 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDR 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDG 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDB 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDB 0
+#define PROPM_END_PATHAUDIOLINK 0
+#define PROPM_END_PATHING 0
+#define PROPM_START_FLIPBOOK 0
+#define PROP_ENABLEFLIPBOOK 0
+#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0
+#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0
+#define PROP_FLIPBOOKCOLORREPLACES 0
+#define PROP_FLIPBOOKTEXARRAYUV 0
+#define PROP_FLIPBOOKMASKUV 0
+#define PROP_FLIPBOOKTOTALFRAMES 1
+#define PROP_FLIPBOOKFPS 30
+#define PROP_FLIPBOOKTILED 0
+#define PROP_FLIPBOOKEMISSIONSTRENGTH 0
+#define PROP_FLIPBOOKROTATION 0
+#define PROP_FLIPBOOKROTATIONSPEED 0
+#define PROP_FLIPBOOKREPLACE 1
+#define PROP_FLIPBOOKMULTIPLY 0
+#define PROP_FLIPBOOKADD 0
+#define PROPM_START_FLIPBOOKAUDIOLINK 0
+#define PROP_AUDIOLINKFLIPBOOKSCALEBAND 0
+#define PROP_AUDIOLINKFLIPBOOKALPHABAND 0
+#define PROP_AUDIOLINKFLIPBOOKEMISSIONBAND 0
+#define PROP_AUDIOLINKFLIPBOOKFRAMEBAND 0
+#define PROPM_END_FLIPBOOKAUDIOLINK 0
+#define PROPM_START_MANUALFLIPBOOKCONTROL 0
+#define PROP_FLIPBOOKCURRENTFRAME -1
+#define PROPM_END_MANUALFLIPBOOKCONTROL 0
+#define PROPM_START_CROSSFADE 0
+#define PROP_FLIPBOOKCROSSFADEENABLED 0
+#define PROPM_END_CROSSFADE 0
+#define PROPM_START_FLIPBOOKHUESHIFT 0
+#define PROP_FLIPBOOKHUESHIFTENABLED 0
+#define PROP_FLIPBOOKHUESHIFTSPEED 0
+#define PROP_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOK 0
+#define PROPM_START_DISSOLVE 0
+#define PROP_ENABLEDISSOLVE 0
+#define PROP_DISSOLVETYPE 1
+#define PROP_DISSOLVEEDGEWIDTH 0.025
+#define PROP_DISSOLVEEDGEHARDNESS 0.5
+#define PROP_DISSOLVEEDGEEMISSION 0
+#define PROP_DISSOLVETOTEXTUREUV 0
+#define PROP_DISSOLVETOEMISSIONSTRENGTH 0
+#define PROP_DISSOLVENOISETEXTUREUV 0
+#define PROP_DISSOLVEINVERTNOISE 0
+#define PROP_DISSOLVEDETAILNOISEUV 0
+#define PROP_DISSOLVEINVERTDETAILNOISE 0
+#define PROP_DISSOLVEDETAILSTRENGTH 0.1
+#define PROP_DISSOLVEALPHA 0
+#define PROP_DISSOLVEUSEVERTEXCOLORS 0
+#define PROP_DISSOLVEMASKUV 0
+#define PROP_DISSOLVEMASKINVERT 0
+#define PROP_CONTINUOUSDISSOLVE 0
+#define PROPM_START_DISSOLVEMASKING 0
+#define PROP_DISSOLVEEMISSIONSIDE 2
+#define PROP_DISSOLVEEMISSION1SIDE 2
+#define PROPM_END_DISSOLVEMASKING 0
+#define PROPM_START_POINTTOPOINT 0
+#define PROP_DISSOLVEP2PWORLDLOCAL 0
+#define PROP_DISSOLVEP2PEDGELENGTH 0.1
+#define PROPM_END_POINTTOPOINT 0
+#define PROPM_START_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEHUESHIFTENABLED 0
+#define PROP_DISSOLVEHUESHIFTSPEED 0
+#define PROP_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEEDGEHUESHIFTENABLED 0
+#define PROP_DISSOLVEEDGEHUESHIFTSPEED 0
+#define PROP_DISSOLVEEDGEHUESHIFT 0
+#define PROPM_END_DISSOLVEHUESHIFT 0
+#define PROPM_START_BONUSSLIDERS 0
+#define PROP_DISSOLVEALPHA0 0
+#define PROP_DISSOLVEALPHA1 0
+#define PROP_DISSOLVEALPHA2 0
+#define PROP_DISSOLVEALPHA3 0
+#define PROP_DISSOLVEALPHA4 0
+#define PROP_DISSOLVEALPHA5 0
+#define PROP_DISSOLVEALPHA6 0
+#define PROP_DISSOLVEALPHA7 0
+#define PROP_DISSOLVEALPHA8 0
+#define PROP_DISSOLVEALPHA9 0
+#define PROPM_END_BONUSSLIDERS 0
+#define PROPM_START_DISSOLVEAUDIOLINK 0
+#define PROP_ENABLEDISSOLVEAUDIOLINK 0
+#define PROP_AUDIOLINKDISSOLVEALPHABAND 0
+#define PROP_AUDIOLINKDISSOLVEDETAILBAND 0
+#define PROPM_END_DISSOLVEAUDIOLINK 0
+#define PROPM_END_DISSOLVE 0
+#define PROPM_START_PANOSPHEREOPTIONS 0
+#define PROP_PANOTOGGLE 0
+#define PROP_PANOINFINITESTEREOTOGGLE 0
+#define PROP_PANOMASKUV 0
+#define PROP_PANOEMISSION 0
+#define PROP_PANOBLEND 0
+#define PROP_PANOCUBEMAPTOGGLE 0
+#define PROPM_END_PANOSPHEREOPTIONS 0
+#define PROPM_START_GLITTER 0
+#define PROP_GLITTERENABLE 0
+#define PROP_GLITTERMODE 0
+#define PROP_GLITTERSHAPE 0
+#define PROP_GLITTERBLENDTYPE 0
+#define PROP_GLITTERUSESURFACECOLOR 0
+#define PROP_GLITTERCOLORMAPUV 0
+#define PROP_GLITTERMASKUV 0
+#define PROP_GLITTERTEXTUREROTATION 0
+#define PROP_GLITTERFREQUENCY 300
+#define PROP_GLITTERJITTER 1
+#define PROP_GLITTERSPEED 10
+#define PROP_GLITTERSIZE 0.3
+#define PROP_GLITTERCONTRAST 300
+#define PROP_GLITTERANGLERANGE 90
+#define PROP_GLITTERMINBRIGHTNESS 0
+#define PROP_GLITTERBRIGHTNESS 3
+#define PROP_GLITTERBIAS 0.8
+#define PROP_GLITTERHIDEINSHADOW 0
+#define PROP_GLITTERCENTERSIZE 0.08
+#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20
+#define PROP_GLITTERJAGGYFIX 0
+#define PROPM_START_GLITTERHUESHIFT 0
+#define PROP_GLITTERHUESHIFTENABLED 0
+#define PROP_GLITTERHUESHIFTSPEED 0
+#define PROP_GLITTERHUESHIFT 0
+#define PROPM_END_GLITTERHUESHIFT 0
+#define PROPM_START_GLITTERRANDOM 0
+#define PROP_GLITTERRANDOMCOLORS 0
+#define PROP_GLITTERRANDOMSIZE 0
+#define PROP_GLITTERRANDOMROTATION 0
+#define PROPM_END_GLITTERRANDOM 0
+#define PROPM_END_GLITTER 0
+#define PROPM_START_TEXT 0
+#define PROP_TEXTPIXELRANGE 4
+#define PROP_TEXTENABLED 0
+#define PROPM_START_TEXTFPS 0
+#define PROP_TEXTFPSENABLED 0
+#define PROP_TEXTFPSUV 0
+#define PROP_TEXTFPSEMISSIONSTRENGTH 0
+#define PROP_TEXTFPSROTATION 0
+#define PROPM_END_TEXTFPS 0
+#define PROPM_START_TEXTPOSITION 0
+#define PROP_TEXTPOSITIONENABLED 0
+#define PROP_TEXTPOSITIONUV 0
+#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0
+#define PROP_TEXTPOSITIONROTATION 0
+#define PROPM_END_TEXTPOSITION 0
+#define PROPM_START_TEXTINSTANCETIME 0
+#define PROP_TEXTTIMEENABLED 0
+#define PROP_TEXTTIMEUV 0
+#define PROP_TEXTTIMEEMISSIONSTRENGTH 0
+#define PROP_TEXTTIMEROTATION 0
+#define PROPM_END_TEXTINSTANCETIME 0
+#define PROPM_END_TEXT 0
+#define PROPM_START_MIRROROPTIONS 0
+#define PROP_ENABLEMIRROROPTIONS 0
+#define PROP_MIRROR 0
+#define PROP_ENABLEMIRRORTEXTURE 0
+#define PROP_MIRRORTEXTUREUV 0
+#define PROPM_END_MIRROROPTIONS 0
+#define PROPM_START_DISTANCEFADE 0
+#define PROP_MAINFADETEXTUREUV 0
+#define PROP_MAINFADETYPE 1
+#define PROP_MAINMINALPHA 0
+#define PROP_MAINMAXALPHA 1
+#define PROP_MAINDISTANCEFADEMIN 0
+#define PROP_MAINDISTANCEFADEMAX 0
+#define PROPM_END_DISTANCEFADE 0
+#define PROPM_START_ANGULARFADE 0
+#define PROP_ENABLERANDOM 0
+#define PROP_ANGLETYPE 0
+#define PROP_ANGLECOMPARETO 0
+#define PROP_CAMERAANGLEMIN 45
+#define PROP_CAMERAANGLEMAX 90
+#define PROP_MODELANGLEMIN 45
+#define PROP_MODELANGLEMAX 90
+#define PROP_ANGLEMINALPHA 0
+#define PROPM_END_ANGULARFADE 0
+#define PROPM_START_DISTORTIONFLOW 0
+#define PROP_ENABLEDISTORTION 0
+#define PROP_DISTORTIONMASKUV 0
+#define PROP_DISTORTIONSTRENGTH 0.5
+#define PROP_DISTORTIONSTRENGTH1 0.5
+#define PROPM_START_DISTORTIONAUDIOLINK 0
+#define PROP_ENABLEDISTORTIONAUDIOLINK 0
+#define PROP_DISTORTIONSTRENGTHAUDIOLINKBAND 0
+#define PROP_DISTORTIONSTRENGTH1AUDIOLINKBAND 0
+#define PROPM_END_DISTORTIONAUDIOLINK 0
+#define PROPM_END_DISTORTIONFLOW 0
+#define PROPM_START_AUDIOLINK 0
+#define PROP_ENABLEAUDIOLINK 0
+#define PROP_AUDIOLINKHELP 0
+#define PROP_AUDIOLINKANIMTOGGLE 1
+#define PROP_AUDIOLINKDELAY 0
+#define PROP_AUDIOLINKAVERAGING 0
+#define PROP_AUDIOLINKAVERAGERANGE 0.5
+#define PROPM_START_AUDIOLINKDEBUG 0
+#define PROP_ENABLEAUDIOLINKDEBUG 0
+#define PROP_AUDIOLINKDEBUGTREBLE 0
+#define PROP_AUDIOLINKDEBUGHIGHMID 0
+#define PROP_AUDIOLINKDEBUGLOWMID 0
+#define PROP_AUDIOLINKDEBUGBASS 0
+#define PROP_AUDIOLINKDEBUGANIMATE 0
+#define PROP_AUDIOLINKTEXTUREVISUALIZATION 0
+#define PROPM_END_AUDIOLINKDEBUG 0
+#define PROPM_END_AUDIOLINK 0
+#define PROPM_PATREON 0
+#define PROPM_START_VIDEO 0
+#define PROP_ENABLEVIDEO 0
+#define PROP_VIDEOUVNUMBER 0
+#define PROP_VIDEOTYPE 3
+#define PROP_VIDEOBACKLIGHT 1
+#define PROP_VIDEOEMISSIONENABLED 1
+#define PROPM_START_VIDEOSETTINGS 0
+#define PROP_VIDEOENABLEVIDEOPLAYER 0
+#define PROP_VIDEOPIXELATETORESOLUTION 0
+#define PROP_VIDEOREPEATVIDEOTEXTURE 0
+#define PROP_VIDEOSATURATION 0
+#define PROP_VIDEOCONTRAST 0
+#define PROPM_END_VIDEOSETTINGS 0
+#define PROPM_START_VIDEODEBUG 0
+#define PROP_VIDEOENABLEDEBUG 0
+#define PROPM_END_VIDEODEBUG 0
+#define PROPM_START_CRT 0
+#define PROP_VIDEOCRTREFRESHRATE 24
+#define PROP_VIDEOCRTPIXELENERGIZEDTIME 1.9
+#define PROPM_END_CRT 0
+#define PROPM_START_GAMEBOY 0
+#define PROPM_END_GAMEBOY 0
+#define PROPM_END_VIDEO 0
+#define PROPM_START_TOUCHOPTIONS 0
+#define PROPM_START_BULGE 0
+#define PROP_ENABLEBULGE 0
+#define PROP_BULDGEFADELENGTH 0.02
+#define PROP_BULDGEHEIGHT 0.02
+#define PROPM_END_BULGE 0
+#define PROPM_START_TOUCHGLOW 0
+#define PROP_ENABLETOUCHGLOW 0
+#define PROP_DEPTHGRADIENTTEXTUREUV 0
+#define PROP_DEPTHGRADIENTBLEND 0
+#define PROP_DEPTHGRADIENTUV 0
+#define PROP_DEPTHMASKUV 0
+#define PROP_DEPTHGLOWEMISSION 3
+#define PROP_FADELENGTH 20
+#define PROP_DEPTHALPHAMIN 1
+#define PROP_DEPTHALPHAMAX 1
+#define PROPM_END_TOUCHGLOW 0
+#define PROPM_END_TOUCHOPTIONS 0
+#define PROPM_START_HOLOGRAM 0
+#define PROP_ENABLEHOLO 0
+#define PROP_HOLOCOORDINATESPACE 0
+#define PROP_HOLOLINEDENSITY 10
+#define PROP_HOLOSCROLLSPEED 1
+#define PROPM_START_FRESNELALPHA 0
+#define PROP_HOLOFRESNELALPHA 0
+#define PROP_HOLORIMSHARPNESS 0.5
+#define PROP_HOLORIMWIDTH 0.5
+#define PROPM_END_FRESNELALPHA 0
+#define PROPM_END_HOLOGRAM 0
+#define PROPM_START_IRIDESCENCE 0
+#define PROP_ENABLEIRIDESCENCE 0
+#define PROP_IRIDESCENCEPANSPEED 0
+#define PROP_IRIDESCENCEOFFSET 0
+#define PROP_IRIDESCENCENORMALTOGGLE 0
+#define PROP_IRIDESCENCENORMALINTENSITY 1
+#define PROP_IRIDESCENCENORMALUV 0
+#define PROP_IRIDESCENCEMASKUV 0
+#define PROP_IRIDESCENCENORMALSELECTION 1
+#define PROP_IRIDESCENCEINTENSITY 1
+#define PROP_IRIDESCENCEADDBLEND 0
+#define PROP_IRIDESCENCEREPLACEBLEND 0
+#define PROP_IRIDESCENCEMULTIPLYBLEND 0
+#define PROP_IRIDESCENCEEMISSIONSTRENGTH 0
+#define PROP_IRIDESCENCETIME 0
+#define PROP_IRIDESCENCEHUESHIFTENABLED 0
+#define PROP_IRIDESCENCEHUESHIFTSPEED 0
+#define PROP_IRIDESCENCEHUESHIFT 0
+#define PROPM_START_IRIDESCENCEAUDIOLINK 0
+#define PROP_IRIDESCENCEAUDIOLINKEMISSIONBAND 0
+#define PROPM_END_IRIDESCENCEAUDIOLINK 0
+#define PROPM_END_IRIDESCENCE 0
+#define PROPM_START_VERTEXGLITCH 0
+#define PROP_ENABLEVERTEXGLITCH 0
+#define PROP_VERTEXGLITCHFREQUENCY 0
+#define PROP_VERTEXGLITCHTHRESHOLD 1
+#define PROP_VERTEXGLITCHSTRENGTH 1
+#define PROPM_END_VERTEXGLITCH 0
+#define PROPM_START_SPAWNS 0
+#define PROPM_START_SCIFISPAWNIN 0
+#define PROP_ENABLESCIFISPAWNIN 0
+#define PROP_SPAWNINNOISEINTENSITY 0.35
+#define PROP_SPAWNINALPHA 0
+#define PROP_SPAWNINEMISSIONOFFSET 0.1
+#define PROP_SPAWNINVERTOFFSET 10
+#define PROP_SPAWNINVERTOFFSETOFFSET 0.1
+#define PROPM_END_SCIFISPAWNIN 0
+#define PROPM_END_SPAWNS 0
+#define PROPM_START_VORONOI 0
+#define PROP_VORONOITYPE 1
+#define PROP_VORONOISPACE 0
+#define PROP_VORONOIBLEND 0
+#define PROP_ENABLEVORONOI 0
+#define PROP_VORONOIEFFECTSMATERIALALPHA 0
+#define PROP_VORONOIMASKUV 0
+#define PROP_VORONOINOISEUV 0
+#define PROP_VORONOINOISEINTENSITY 0.1
+#define PROP_VORONOIEMISSION0 0
+#define PROP_VORONOIEMISSION1 0
+#define PROP_VORONOISCALE 5
+#define PROPM_START_VORONOIRANDOM 0
+#define PROP_VORONOIENABLERANDOMCELLCOLOR 0
+#define PROPM_END_VORONOIRANDOM 0
+#define PROPM_END_VORONOI 0
+#define PROPM_START_BLACKLIGHT 0
+#define PROP_BLACKLIGHTMASKENABLED 0
+#define PROP_BLACKLIGHTMASKDEBUG 0
+#define PROP_BLACKLIGHTMASKMETALLIC 4
+#define PROP_BLACKLIGHTMASKCLEARCOAT 4
+#define PROP_BLACKLIGHTMASKMATCAP 4
+#define PROP_BLACKLIGHTMASKMATCAP2 4
+#define PROP_BLACKLIGHTMASKEMISSION 4
+#define PROP_BLACKLIGHTMASKEMISSION2 4
+#define PROP_BLACKLIGHTMASKFLIPBOOK 4
+#define PROP_BLACKLIGHTMASKDISSOLVE 4
+#define PROP_BLACKLIGHTMASKPANOSPHERE 4
+#define PROP_BLACKLIGHTMASKGLITTER 4
+#define PROP_BLACKLIGHTMASKIRIDESCENCE 4
+#define PROPM_END_BLACKLIGHT 0
+#define PROPM_OUTLINEOPTIONS 0
+#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0
+#define PROP_OUTLINEMODE 0
+#define PROP_OUTLINETINTMIX 0
+#define PROP_OUTLINERIMLIGHTBLEND 0
+#define PROP_OUTLINEFIXEDSIZE 0
+#define PROP_OUTLINESMAXDISTANCE 9999
+#define PROP_OUTLINEUSEVERTEXCOLORS 0
+#define PROP_OUTLINELIT 1
+#define PROP_LINEWIDTH 0
+#define PROP_OUTLINEEMISSION 0
+#define PROP_OUTLINETEXTUREUV 0
+#define PROP_OUTLINEMASKUV 0
+#define PROP_OUTLINESHADOWSTRENGTH 1
+#define PROP_OUTLINEHUESHIFT 0
+#define PROP_OUTLINEHUEOFFSET 0
+#define PROP_OUTLINEHUEOFFSETSPEED 0
+#define PROPM_START_OUTLINEADVANCED 0
+#define PROP_OUTLINECULL 1
+#define PROP_OUTLINEOFFSETFACTOR 0
+#define PROP_OUTLINEOFFSETUNITS 0
+#define PROPM_END_OUTLINEADVANCED 0
+#define PROPM_PARALLAXMAP 0
+#define PROP_PARALLAXMAP 0
+#define PROP_PARALLAXHEIGHTMAPENABLED 0
+#define PROP_PARALLAXINTERNALMAPENABLED 0
+#define PROPM_START_PARALLAXHEIGHTMAP 0
+#define PROP_PARALLAXUV 0
+#define PROP_PARALLAXHEIGHTMAPMASKUV 0
+#define PROP_PARALLAXSTRENGTH 0
+#define PROPM_END_PARALLAXHEIGHTMAP 0
+#define PROPM_START_PARALLAXINTERNAL 0
+#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0
+#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0
+#define PROP_PARALLAXINTERNALMAPMASKUV 0
+#define PROP_PARALLAXINTERNALITERATIONS 1
+#define PROP_PARALLAXINTERNALMINDEPTH 0
+#define PROP_PARALLAXINTERNALMAXDEPTH 1
+#define PROP_PARALLAXINTERNALMINFADE 0
+#define PROP_PARALLAXINTERNALMAXFADE 1
+#define PROPM_END_PARALLAXINTERNAL 0
+#define PROPM_START_PARALLAXADVANCED 0
+#define PROP_PARALLAXBIAS 0.42
+#define PROPM_END_PARALLAXADVANCED 0
+#define PROPM_POSTPROCESSING 0
+#define PROP_PPHELP 0
+#define PROP_PPLIGHTINGMULTIPLIER 1
+#define PROP_PPEMISSIONMULTIPLIER 1
+#define PROPM_THIRDPARTY 1
+#define PROPM_START_RALIV 1
+#define PROP_RALIVHELP 0
+#define PROPM_START_RALIVPENETRATOR 1
+#define PROP_PENETRATORENABLED 1
+#define PROP_SQUEEZE 0.2
+#define PROP_SQUEEZEDIST 0.0259
+#define PROP_BULGEPOWER 0.00072
+#define PROP_BULGEOFFSET 0.053
+#define PROP_LENGTH 0.3580336
+#define PROP_ENTRANCESTIFFNESS 0.01
+#define PROP_CURVATURE 0
+#define PROP_RECURVATURE 0
+#define PROP_WRIGGLE 0
+#define PROP_WRIGGLESPEED 6.2
+#define PROP__DIRTY 0
+#define PROPM_END_RALIVPENETRATOR 0
+#define PROPM_START_RALIVORIFACE 0
+#define PROP_ORIFACEENABLED 0
+#define PROP_ENTRYOPENDURATION 0.1
+#define PROP_SHAPE1DEPTH 0.1
+#define PROP_SHAPE1DURATION 0.1
+#define PROP_SHAPE2DEPTH 0.2
+#define PROP_SHAPE2DURATION 0.1
+#define PROP_SHAPE3DEPTH 0.3
+#define PROP_SHAPE3DURATION 0.1
+#define PROP_BLENDSHAPEPOWER 1
+#define PROP_BLENDSHAPEBADSCALEFIX 1
+#define PROPM_END_RALIVORIFACE 0
+#define PROPM_START_RALIVADVANCED 1
+#define PROP_RALIVADVANCEDHELP 0
+#define PROP_ORIFICECHANNEL 0
+#define PROPM_END_RALIVADVANCED 0
+#define PROPM_END_RALIV 0
+#define PROPM_RENDERINGOPTIONS 0
+#define PROP_CULL 2
+#define PROP_ZTEST 4
+#define PROP_ZWRITE 1
+#define PROP_COLORMASK 15
+#define PROP_OFFSETFACTOR 0
+#define PROP_OFFSETUNITS 0
+#define PROP_IGNOREFOG 0
+#define PROPINSTANCING 0
+#define PROPM_START_BLENDING 0
+#define PROP_BLENDOP 0
+#define PROP_BLENDOPALPHA 0
+#define PROP_SRCBLEND 1
+#define PROP_DSTBLEND 0
+#define PROPM_END_BLENDING 0
+#define PROPM_START_STENCILPASSOPTIONS 0
+#define PROP_STENCILREF 0
+#define PROP_STENCILREADMASK 255
+#define PROP_STENCILWRITEMASK 255
+#define PROP_STENCILPASSOP 0
+#define PROP_STENCILFAILOP 0
+#define PROP_STENCILZFAILOP 0
+#define PROP_STENCILCOMPAREFUNCTION 8
+#define PROPM_END_STENCILPASSOPTIONS 0
+#define PROPM_START_OUTLINESTENCIL 0
+#define PROP_OUTLINESTENCILREF 0
+#define PROP_OUTLINESTENCILREADMASK 255
+#define PROP_OUTLINESTENCILWRITEMASK 255
+#define PROP_OUTLINESTENCILPASSOP 0
+#define PROP_OUTLINESTENCILFAILOP 0
+#define PROP_OUTLINESTENCILZFAILOP 0
+#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8
+#define PROPM_END_OUTLINESTENCIL 0
+#define PROPM_START_DEBUGOPTIONS 0
+#define PROP_DEBUGENABLED 0
+#define PROP_VERTEXUNWRAP 0
+#define PROP_DEBUGMESHDATA 0
+#define PROP_DEBUGLIGHTINGDATA 0
+#define PROP_DEBUGCAMERADATA 0
+#define PROPM_END_DEBUGOPTIONS 0
+
+ #pragma target 5.0
+ #define POI_SHADOW
+ float _Mode;
+ #pragma multi_compile_instancing
+ #pragma vertex vertShadowCaster
+ #pragma fragment fragShadowCaster
+ #include "/CGI_PoiPassShadow.cginc"
+ ENDCG
+ }
+ Pass
+ {
+ Tags { "LightMode" = "Meta" }
+ Cull Off
+ CGPROGRAM
+#define OPTIMIZER_ENABLED
+#define VIGNETTE_MASKED
+#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+#define PROPSHADER_IS_USING_THRY_EDITOR 69
+#define PROPSHADER_MASTER_LABEL 0
+#define PROPSHADER_PRESETS 0
+#define PROPSHADER_PROPERTIES_LABEL_FILE 0
+#define PROPFOOTER_YOUTUBE 0
+#define PROPFOOTER_TWITTER 0
+#define PROPFOOTER_PATREON 0
+#define PROPFOOTER_DISCORD 0
+#define PROPFOOTER_GITHUB 0
+#define PROP_FORGOTTOLOCKMATERIAL 1
+#define PROP_SHADEROPTIMIZERENABLED 0
+#define PROP_LOCKTOOLTIP 0
+#define PROP_MODE 0
+#define PROPM_MAINOPTIONS 0
+#define PROP_MAINTEX
+#define PROP_MAINTEXTUREUV 0
+#define PROP_MAINEMISSIONSTRENGTH 0
+#define PROP_BUMPMAP
+#define PROP_BUMPMAPUV 0
+#define PROP_BUMPSCALE 1
+#define PROP_CLIPPINGMASKUV 0
+#define PROP_INVERSE_CLIPPING 0
+#define PROPM_START_MAINHUESHIFT 0
+#define PROP_MAINCOLORADJUSTTEXTUREUV 0
+#define PROP_MAINHUESHIFTREPLACE 1
+#define PROP_MAINHUESHIFT 0
+#define PROP_MAINHUESHIFTSPEED 0
+#define PROP_SATURATION 1
+#define PROP_MAINBRIGHTNESS 0
+#define PROP_MAINHUESHIFTTOGGLE 0
+#define PROPM_END_MAINHUESHIFT 0
+#define PROPM_START_RGBMASK 0
+#define PROP_RGBMASKENABLED 0
+#define PROP_RGBUSEVERTEXCOLORS 0
+#define PROP_RGBBLENDMULTIPLICATIVE 0
+#define PROP_RGBMASKUV 0
+#define PROP_RGBRED_UV 0
+#define PROP_RGBGREEN_UV 0
+#define PROP_RGBBLUE_UV 0
+#define PROP_RGBALPHA_UV 0
+#define PROP_RGBNORMALSENABLED 0
+#define PROP_RGBNORMALBLEND 0
+#define PROP_RGBNORMALRUV 0
+#define PROP_RGBNORMALRSCALE 0
+#define PROP_RGBNORMALGUV 0
+#define PROP_RGBNORMALGSCALE 0
+#define PROP_RGBNORMALBUV 0
+#define PROP_RGBNORMALBSCALE 0
+#define PROP_RGBNORMALAUV 0
+#define PROP_RGBNORMALASCALE 0
+#define PROPM_END_RGBMASK 0
+#define PROPM_START_DETAILOPTIONS 0
+#define PROP_DETAILENABLED 0
+#define PROP_DETAILMASKUV 0
+#define PROP_DETAILTEXUV 0
+#define PROP_DETAILTEXINTENSITY 1
+#define PROP_DETAILBRIGHTNESS 1
+#define PROP_DETAILNORMALMAPSCALE 1
+#define PROP_DETAILNORMALMAPUV 0
+#define PROPM_END_DETAILOPTIONS 0
+#define PROPM_START_MAINVERTEXCOLORS 0
+#define PROP_MAINVERTEXCOLORINGLINEARSPACE 1
+#define PROP_MAINVERTEXCOLORING 0
+#define PROP_MAINUSEVERTEXCOLORALPHA 0
+#define PROPM_END_MAINVERTEXCOLORS 0
+#define PROPM_START_VERTEXMANIPULATION 0
+#define PROP_VERTEXMANIPULATIONSENABLED 0
+#define PROP_VERTEXMANIPULATIONHEIGHT 0
+#define PROP_VERTEXMANIPULATIONHEIGHTUV 0
+#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0
+#define PROP_VERTEXROUNDINGENABLED 0
+#define PROP_VERTEXROUNDINGDIVISION 500
+#define PROPM_END_VERTEXMANIPULATION 0
+#define PROPM_START_ALPHA 0
+#define PROP_CUTOFF 0.5
+#define PROP_DITHERINGENABLED 0
+#define PROP_DITHERGRADIENT 0.1
+#define PROP_FORCEOPAQUE 0
+#define PROP_MAINSHADOWCLIPMOD 0
+#define PROP_ALPHATOMASK 0
+#define PROP_MAINALPHATOCOVERAGE 0
+#define PROP_MAINMIPSCALE 0.25
+#define PROP_ALPHAPREMULTIPLY 0
+#define PROP_ALPHAMOD 0
+#define PROPM_END_ALPHA 0
+#define PROPM_START_DECALSECTION 0
+#define PROP_DECALMASKUV 0
+#define PROPM_START_DECAL0 0
+#define PROP_DECALENABLED 0
+#define PROP_DECALEMISSIONSTRENGTH 0
+#define PROP_DECALTEXTUREUV 0
+#define PROP_DECALTILED 0
+#define PROP_DECAL0DEPTH 0
+#define PROP_DECALROTATION 0
+#define PROP_DECALROTATIONSPEED 0
+#define PROP_DECALBLENDTYPE 0
+#define PROP_DECALBLENDALPHA 1
+#define PROP_DECALHUESHIFTENABLED 0
+#define PROP_DECALHUESHIFTSPEED 0
+#define PROP_DECALHUESHIFT 0
+#define PROPM_START_DECAL0AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL0SCALEBAND 0
+#define PROP_AUDIOLINKDECAL0ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL0ALPHABAND 0
+#define PROP_AUDIOLINKDECAL0EMISSIONBAND 0
+#define PROPM_END_DECAL0AUDIOLINK 0
+#define PROPM_END_DECAL0 0
+#define PROPM_START_DECAL1 0
+#define PROP_DECALENABLED1 0
+#define PROP_DECALEMISSIONSTRENGTH1 0
+#define PROP_DECALTEXTURE1UV 0
+#define PROP_DECALTILED1 0
+#define PROP_DECAL1DEPTH 0
+#define PROP_DECALROTATION1 0
+#define PROP_DECALROTATIONSPEED1 0
+#define PROP_DECALBLENDTYPE1 0
+#define PROP_DECALBLENDALPHA1 1
+#define PROP_DECALHUESHIFTENABLED1 0
+#define PROP_DECALHUESHIFTSPEED1 0
+#define PROP_DECALHUESHIFT1 0
+#define PROPM_START_DECAL1AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL1SCALEBAND 0
+#define PROP_AUDIOLINKDECAL1ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL1ALPHABAND 0
+#define PROP_AUDIOLINKDECAL1EMISSIONBAND 0
+#define PROPM_END_DECAL1AUDIOLINK 0
+#define PROPM_END_DECAL1 0
+#define PROPM_START_DECAL2 0
+#define PROP_DECALENABLED2 0
+#define PROP_DECALEMISSIONSTRENGTH2 0
+#define PROP_DECALTEXTURE2UV 0
+#define PROP_DECALTILED2 0
+#define PROP_DECAL2DEPTH 0
+#define PROP_DECALROTATION2 0
+#define PROP_DECALROTATIONSPEED2 0
+#define PROP_DECALBLENDTYPE2 0
+#define PROP_DECALBLENDALPHA2 1
+#define PROP_DECALHUESHIFTENABLED2 0
+#define PROP_DECALHUESHIFTSPEED2 0
+#define PROP_DECALHUESHIFT2 0
+#define PROPM_START_DECAL2AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL2SCALEBAND 0
+#define PROP_AUDIOLINKDECAL2ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL2ALPHABAND 0
+#define PROP_AUDIOLINKDECAL2EMISSIONBAND 0
+#define PROPM_END_DECAL2AUDIOLINK 0
+#define PROPM_END_DECAL2 0
+#define PROPM_START_DECAL3 0
+#define PROP_DECALENABLED3 0
+#define PROP_DECALEMISSIONSTRENGTH3 0
+#define PROP_DECALTEXTURE3UV 0
+#define PROP_DECALTILED3 0
+#define PROP_DECAL3DEPTH 0
+#define PROP_DECALROTATION3 0
+#define PROP_DECALROTATIONSPEED3 0
+#define PROP_DECALBLENDTYPE3 0
+#define PROP_DECALBLENDALPHA3 1
+#define PROP_DECALHUESHIFTENABLED3 0
+#define PROP_DECALHUESHIFTSPEED3 0
+#define PROP_DECALHUESHIFT3 0
+#define PROPM_START_DECAL3AUDIOLINK 0
+#define PROP_AUDIOLINKDECAL3SCALEBAND 0
+#define PROP_AUDIOLINKDECAL3ROTATIONBAND 0
+#define PROP_AUDIOLINKDECAL3ALPHABAND 0
+#define PROP_AUDIOLINKDECAL3EMISSIONBAND 0
+#define PROPM_END_DECAL3AUDIOLINK 0
+#define PROPM_END_DECAL3 0
+#define PROPM_END_DECALSECTION 0
+#define PROPM_START_BACKFACE 0
+#define PROP_BACKFACEENABLED 0
+#define PROP_BACKFACEREPLACEALPHA 0
+#define PROP_BACKFACETEXTUREUV 0
+#define PROP_BACKFACEDETAILINTENSITY 1
+#define PROP_BACKFACEHUESHIFT 0
+#define PROP_BACKFACEEMISSIONSTRENGTH 0
+#define PROPM_END_BACKFACE 0
+#define PROPM_LIGHTINGOPTIONS 0
+#define PROPM_START_LIGHTING 0
+#define PROP_ENABLELIGHTING 1
+#define PROP_LIGHTINGMODE 0
+#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0
+#define PROP_LIGHTINGWRAPPEDWRAP 0
+#define PROP_LIGHTINGWRAPPEDNORMALIZATION 0
+#define PROP_LIGHTINGRAMPTYPE 0
+#define PROP_1ST_SHADEMAPUV 0
+#define PROP_USE_1STSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_1STSHADEMAPMASK_INVERSE 0
+#define PROP_USE_BASEAS1ST 0
+#define PROP_2ND_SHADEMAPUV 0
+#define PROP_USE_2NDSHADEMAPALPHA_AS_SHADOWMASK 0
+#define PROP_2NDSHADEMAPMASK_INVERSE 0
+#define PROP_USE_1STAS2ND 0
+#define PROP_BASECOLOR_STEP 0.5
+#define PROP_BASESHADE_FEATHER 0.0001
+#define PROP_SHADECOLOR_STEP 0
+#define PROP_1ST2ND_SHADES_FEATHER 0.0001
+#define PROP_TOONRAMP
+#define PROP_LIGHTINGSHADOWMASKUV 0
+#define PROP_SHADOWOFFSET 0
+#define PROP_LIGHTINGGRADIENTSTART 0
+#define PROP_LIGHTINGGRADIENTEND 0.5
+#define PROP_SSSSCALE 1
+#define PROP_SSSBUMPBLUR 0.7
+#define PROP_SHADOWSTRENGTH 0.156
+#define PROP_ATTENUATIONMULTIPLIER 0
+#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0
+#define PROPM_START_LIGHTINGMODIFIERS 0
+#define PROP_LIGHTINGDIRECTCOLORMODE 0
+#define PROP_LIGHTINGINDIRECTCOLORMODE 0
+#define PROP_LIGHTINGUNCAPPED 0
+#define PROP_LIGHTINGONLYUNITYSHADOWS 0
+#define PROP_LIGHTINGMONOCHROMATIC 0
+#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0
+#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0
+#define PROPM_END_LIGHTINGMODIFIERS 0
+#define PROPM_START_DETAILSHADOWS 0
+#define PROP_LIGHTINGDETAILSHADOWSENABLED 0
+#define PROP_LIGHTINGDETAILSHADOWSUV 0
+#define PROP_LIGHTINGDETAILSTRENGTH 1
+#define PROPM_END_DETAILSHADOWS 0
+#define PROPM_START_AMBIENTOCCLUSION 0
+#define PROP_LIGHTINGENABLEAO 0
+#define PROP_LIGHTINGAOTEXUV 0
+#define PROP_AOSTRENGTH 1
+#define PROPM_END_AMBIENTOCCLUSION 0
+#define PROPM_START_LIGHTINGHSL 0
+#define PROP_LIGHTINGENABLEHSL 0
+#define PROP_LIGHTINGHSLINTENSITY 1
+#define PROP_LIGHTINGSHADOWHUE 0.5
+#define PROP_LIGHTINGSHADOWSATURATION 0.5
+#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5
+#define PROPM_END_LIGHTINGHSL 0
+#define PROPM_START_LIGHTINGADVANCED 0
+#define PROP_LIGHTINGADDITIVEENABLE 1
+#define PROP_LIGHTINGADDITIVETYPE 1
+#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0
+#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5
+#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5
+#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1
+#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0
+#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1
+#define PROP_DISABLEDIRECTIONALINADD 1
+#define PROPM_END_LIGHTINGADVANCED 0
+#define PROPM_END_LIGHTING 0
+#define PROPM_START_SUBSURFACE 0
+#define PROP_ENABLESSS 0
+#define PROP_SSSTHICKNESSMAPUV 0
+#define PROP_SSSTHICKNESSMOD 0
+#define PROP_SSSSCALE 0.25
+#define PROP_SSSPOWER 5
+#define PROP_SSSDISTORTION 1
+#define PROPM_END_SUBSURFACE 0
+#define PROPM_START_RIMLIGHTOPTIONS 0
+#define PROP_ENABLERIMLIGHTING 0
+#define PROP_RIMLIGHTNORMAL 1
+#define PROP_RIMLIGHTINGINVERT 0
+#define PROP_RIMWIDTH 0.8
+#define PROP_RIMSHARPNESS 0.1
+#define PROP_RIMSTRENGTH 0
+#define PROP_RIMBRIGHTEN 0
+#define PROP_RIMLIGHTCOLORBIAS 1
+#define PROP_RIMTEXUV 0
+#define PROP_RIMMASKUV 0
+#define PROPM_START_RIMHUESHIFT 0
+#define PROP_RIMHUESHIFTENABLED 0
+#define PROP_RIMHUESHIFTSPEED 0
+#define PROP_RIMHUESHIFT 0
+#define PROPM_END_RIMHUESHIFT 0
+#define PROPM_START_RIMWIDTHNOISE 0
+#define PROP_RIMWIDTHNOISETEXTUREUV 0
+#define PROP_RIMWIDTHNOISESTRENGTH 0.1
+#define PROPM_END_RIMWIDTHNOISE 0
+#define PROPM_START_SHADOWMIX 0
+#define PROP_SHADOWMIX 0
+#define PROP_SHADOWMIXTHRESHOLD 0.5
+#define PROP_SHADOWMIXWIDTHMOD 0.5
+#define PROPM_END_SHADOWMIX 0
+#define PROPM_START_RIMAUDIOLINK 0
+#define PROP_AUDIOLINKRIMWIDTHBAND 0
+#define PROP_AUDIOLINKRIMEMISSIONBAND 0
+#define PROP_AUDIOLINKRIMBRIGHTNESSBAND 0
+#define PROPM_END_RIMAUDIOLINK 0
+#define PROPM_END_RIMLIGHTOPTIONS 0
+#define PROPM_START_REFLECTIONRIM 0
+#define PROP_ENABLEENVIRONMENTALRIM 0
+#define PROP_RIMENVIROMASKUV 0
+#define PROP_RIMENVIROBLUR 0.7
+#define PROP_RIMENVIROWIDTH 0.45
+#define PROP_RIMENVIROSHARPNESS 0
+#define PROP_RIMENVIROMINBRIGHTNESS 0
+#define PROP_RIMENVIROINTENSITY 1
+#define PROPM_END_REFLECTIONRIM 0
+#define PROPM_START_BAKEDLIGHTING 0
+#define PROP_SPECULARLMOCCLUSION 0
+#define PROP_SPECLMOCCLUSIONADJUST 0.2
+#define PROP_GIEMISSIONMULTIPLIER 1
+#define PROPDSGI 0
+#define PROPLIGHTMAPFLAGS 0
+#define PROPM_END_BAKEDLIGHTING 0
+#define PROP_LOCKTOOLTIP 0
+#define PROPM_START_BRDF 0
+#define PROP_ENABLEBRDF 0
+#define PROP_BRDFMETALLICGLOSSMAPTOOLTIP 0
+#define PROP_BRDFINVERTGLOSSINESS 0
+#define PROP_BRDFMETALLICGLOSSMAPUV 0
+#define PROP_BRDFSPECULARMAPTOOLTIP 0
+#define PROP_BRDFSPECULARMAPUV 0
+#define PROP_BRDFMETALLICMAPTOOLTIP 0
+#define PROP_BRDFMETALLICMAPUV 0
+#define PROP_BRDFMETALLIC 0
+#define PROP_BRDFGLOSSINESS 0
+#define PROP_BRDFREFLECTANCE 0.5
+#define PROP_BRDFANISOTROPY 0
+#define PROP_BRDFMETALLICSPECIGNORESBASECOLOR 0
+#define PROP_BRDFREFLECTIONSENABLED 1
+#define PROP_BRDFSPECULARENABLED 1
+#define PROP_BRDFFALLBACK
+#define PROP_BRDFFORCEFALLBACK 0
+#define PROPM_END_BRDF 0
+#define PROPM_START_METALLIC 0
+#define PROP_ENABLEMETALLIC 0
+#define PROP_CUBEMAP
+#define PROP_SAMPLEWORLD 0
+#define PROP_METALLICTINTMAPUV 0
+#define PROP_METALLICMASKUV 0
+#define PROP_METALLIC 0
+#define PROP_SMOOTHNESSMASKUV 0
+#define PROP_INVERTSMOOTHNESS 0
+#define PROP_SMOOTHNESS 0.106
+#define PROPM_END_METALLIC 0
+#define PROPM_START_CLEARCOAT 0
+#define PROP_ENABLECLEARCOAT 0
+#define PROP_CLEARCOATHELPBOX 0
+#define PROP_CLEARCOATMAPUV 0
+#define PROP_CLEARCOATINVERTSMOOTHNESS 0
+#define PROP_CLEARCOAT 1
+#define PROP_CLEARCOATGLOSSINESS 0
+#define PROP_CLEARCOATANISOTROPY 0
+#define PROP_CLEARCOATENABLEREFLECTIONS 1
+#define PROP_CLEARCOATENABLESPECULAR 1
+#define PROP_CLEARCOATFORCEFALLBACK 0
+#define PROPM_END_CLEARCOAT 0
+#define PROPM_START_MATCAP 0
+#define PROP_MATCAPENABLE 0
+#define PROP_MATCAPBORDER 0.43
+#define PROP_MATCAPMASKUV 0
+#define PROP_MATCAPMASKINVERT 0
+#define PROP_MATCAPEMISSIONSTRENGTH 0
+#define PROP_MATCAPINTENSITY 1
+#define PROP_MATCAPLIGHTMASK 0
+#define PROP_MATCAPREPLACE 1
+#define PROP_MATCAPMULTIPLY 0
+#define PROP_MATCAPADD 0
+#define PROP_MATCAPNORMAL 1
+#define PROPM_START_MATCAPHUESHIFT 0
+#define PROP_MATCAPHUESHIFTENABLED 0
+#define PROP_MATCAPHUESHIFTSPEED 0
+#define PROP_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAPHUESHIFT 0
+#define PROPM_END_MATCAP 0
+#define PROPM_START_MATCAP2 0
+#define PROP_MATCAP2ENABLE 0
+#define PROP_MATCAP2BORDER 0.43
+#define PROP_MATCAP2MASKUV 0
+#define PROP_MATCAP2MASKINVERT 0
+#define PROP_MATCAP2EMISSIONSTRENGTH 0
+#define PROP_MATCAP2INTENSITY 1
+#define PROP_MATCAP2LIGHTMASK 0
+#define PROP_MATCAP2REPLACE 0
+#define PROP_MATCAP2MULTIPLY 0
+#define PROP_MATCAP2ADD 0
+#define PROP_MATCAP2NORMAL 1
+#define PROPM_START_MATCAP2HUESHIFT 0
+#define PROP_MATCAP2HUESHIFTENABLED 0
+#define PROP_MATCAP2HUESHIFTSPEED 0
+#define PROP_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2HUESHIFT 0
+#define PROPM_END_MATCAP2 0
+#define PROPM_START_SPECULAR 0
+#define PROP_ENABLESPECULAR 0
+#define PROP_SPECULARTYPE 1
+#define PROP_SPECULARNORMAL 1
+#define PROP_SPECULARMETALLIC 0
+#define PROP_SPECULARMAXBRIGHTNESS 0
+#define PROP_SPECULARMETALLICMAPUV 0
+#define PROP_SPECULARSMOOTHNESS 1
+#define PROP_SPECULARMAPUV 0
+#define PROP_SPECULARINVERTSMOOTHNESS 0
+#define PROP_SPECULARMASKUV 0
+#define PROP_SMOOTHNESSFROM 1
+#define PROP_SPECWHATTANGENT 0
+#define PROP_ANISOSPEC1ALPHA 1
+#define PROP_ANISOSPEC2ALPHA 1
+#define PROP_SPEC1OFFSET 0
+#define PROP_SPEC2SMOOTHNESS 0
+#define PROP_ANISOUSETANGENTMAP 0
+#define PROP_ANISOTANGENTMAPUV 0
+#define PROP_SPECULARTOONSTART 0.95
+#define PROP_SPECULARTOONEND 1
+#define PROP_SPECULARANISOJITTERMIRRORED 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMICROUV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0
+#define PROP_SPECULARANISOJITTERMACROUV 0
+#define PROPM_END_SPECULAR 0
+#define PROPM_START_SPECULAR1 0
+#define PROP_ENABLESPECULAR1 0
+#define PROP_SPECULARTYPE1 1
+#define PROP_SPECULARNORMAL1 1
+#define PROP_SPECULARMETALLIC1 0
+#define PROP_SPECULARMAXBRIGHTNESS1 0
+#define PROP_SPECULARMETALLICMAP1UV 0
+#define PROP_SPECULARSMOOTHNESS1 0.75
+#define PROP_SPECULARMAP1UV 0
+#define PROP_SPECULARINVERTSMOOTHNESS1 0
+#define PROP_SPECULARMASK1UV 0
+#define PROP_SMOOTHNESSFROM1 1
+#define PROP_SPECWHATTANGENT1 0
+#define PROP_ANISOSPEC1ALPHA1 1
+#define PROP_ANISOSPEC2ALPHA1 1
+#define PROP_SPEC1OFFSET1 0
+#define PROP_SPEC2SMOOTHNESS1 0
+#define PROP_ANISOUSETANGENTMAP1 0
+#define PROP_ANISOTANGENTMAP1UV 0
+#define PROP_SPECULARTOONSTART1 0.95
+#define PROP_SPECULARTOONEND1 1
+#define PROP_SPECULARANISOJITTERMIRRORED1 0
+#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMICRO1UV 0
+#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0
+#define PROP_SPECULARANISOJITTERMACRO1UV 0
+#define PROPM_END_SPECULAR1 0
+#define PROPM_SPECIAL_EFFECTS 0
+#define PROPM_START_EMISSIONOPTIONS 0
+#define PROP_ENABLEEMISSION 0
+#define PROP_EMISSIONREPLACE 0
+#define PROP_EMISSIONBASECOLORASMAP 0
+#define PROP_EMISSIONMAPUV 0
+#define PROP_EMISSIONMASKUV 0
+#define PROP_EMISSIONSTRENGTH 0
+#define PROP_EMISSIONHUESHIFTENABLED 0
+#define PROP_EMISSIONHUESHIFT 0
+#define PROP_EMISSIONHUESHIFTSPEED 0
+#define PROPM_START_CENTEROUTEMISSION 0
+#define PROP_EMISSIONCENTEROUTENABLED 0
+#define PROP_EMISSIONCENTEROUTSPEED 5
+#define PROPM_END_CENTEROUTEMISSION 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0
+#define PROP_ENABLEGITDEMISSION 0
+#define PROP_GITDEWORLDORMESH 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER 0
+#define PROP_GITDEMINLIGHT 0
+#define PROP_GITDEMAXLIGHT 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS 0
+#define PROP_EMISSIONBLINKINGENABLED 0
+#define PROP_EMISSIVEBLINK_MIN 0
+#define PROP_EMISSIVEBLINK_MAX 1
+#define PROP_EMISSIVEBLINK_VELOCITY 4
+#define PROP_EMISSIONBLINKINGOFFSET 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0
+#define PROP_SCROLLINGEMISSION 0
+#define PROP_EMISSIONSCROLLINGUSECURVE 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0
+#define PROP_EMISSIVESCROLL_WIDTH 10
+#define PROP_EMISSIVESCROLL_VELOCITY 10
+#define PROP_EMISSIVESCROLL_INTERVAL 20
+#define PROP_EMISSIONSCROLLINGOFFSET 0
+#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0
+#define PROPM_START_EMISSIONAUDIOLINK 0
+#define PROP_ENABLEEMISSIONSTRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSIONSTRENGTHBAND 0
+#define PROP_ENABLEEMISSIONCENTEROUTAUDIOLINK 0
+#define PROP_EMISSIONCENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTBAND 0
+#define PROP_EMISSIONCENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSIONCENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSIONBAND 0
+#define PROPM_END_EMISSIONAUDIOLINK 0
+#define PROPM_END_EMISSIONOPTIONS 0
+#define PROPM_START_EMISSION1OPTIONS 0
+#define PROP_ENABLEEMISSION1 0
+#define PROP_EMISSIONBASECOLORASMAP1 0
+#define PROP_EMISSIONMAP1UV 0
+#define PROP_EMISSIONMASK1UV 0
+#define PROP_EMISSIONSTRENGTH1 0
+#define PROP_EMISSIONHUESHIFTENABLED1 0
+#define PROP_EMISSIONHUESHIFT1 0
+#define PROP_EMISSIONHUESHIFTSPEED1 0
+#define PROPM_START_CENTEROUTEMISSION1 0
+#define PROP_EMISSIONCENTEROUTENABLED1 0
+#define PROP_EMISSIONCENTEROUTSPEED1 5
+#define PROPM_END_CENTEROUTEMISSION1 0
+#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROP_ENABLEGITDEMISSION1 0
+#define PROP_GITDEWORLDORMESH1 0
+#define PROP_GITDEMINEMISSIONMULTIPLIER1 1
+#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0
+#define PROP_GITDEMINLIGHT1 0
+#define PROP_GITDEMAXLIGHT1 1
+#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0
+#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0
+#define PROP_EMISSIONBLINKINGENABLED1 0
+#define PROP_EMISSIVEBLINK_MIN1 0
+#define PROP_EMISSIVEBLINK_MAX1 1
+#define PROP_EMISSIVEBLINK_VELOCITY1 4
+#define PROP_EMISSIONBLINKINGOFFSET1 0
+#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0
+#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0
+#define PROP_SCROLLINGEMISSION1 0
+#define PROP_EMISSIONSCROLLINGUSECURVE1 0
+#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0
+#define PROP_EMISSIVESCROLL_WIDTH1 10
+#define PROP_EMISSIVESCROLL_VELOCITY1 10
+#define PROP_EMISSIVESCROLL_INTERVAL1 20
+#define PROP_EMISSIONSCROLLINGOFFSET1 0
+#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0
+#define PROPM_START_EMISSION1AUDIOLINK 0
+#define PROP_ENABLEEMISSION1STRENGTHAUDIOLINK 0
+#define PROP_AUDIOLINKEMISSION1STRENGTHBAND 0
+#define PROP_ENABLEEMISSION1CENTEROUTAUDIOLINK 0
+#define PROP_EMISSION1CENTEROUTAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTBAND 0
+#define PROP_EMISSION1CENTEROUTADDAUDIOLINKWIDTH 1
+#define PROP_AUDIOLINKEMISSION1CENTEROUTADDBAND 0
+#define PROP_AUDIOLINKADDEMISSION1BAND 0
+#define PROPM_END_EMISSION1AUDIOLINK 0
+#define PROPM_END_EMISSION1OPTIONS 0
+#define PROPM_START_PATHING 0
+#define PROP_ENABLEPATHING 0
+#define PROP_PATHINGMAPUV 0
+#define PROP_PATHINGCOLORMAPUV 0
+#define PROP_PATHTYPER 0
+#define PROP_PATHTYPEG 0
+#define PROP_PATHTYPEB 0
+#define PROPM_START_PATHAUDIOLINK 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHTIMEOFFSETBANDB 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDR 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDG 0
+#define PROP_AUDIOLINKPATHEMISSIONADDBANDB 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDR 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDG 0
+#define PROP_AUDIOLINKPATHWIDTHOFFSETBANDB 0
+#define PROPM_END_PATHAUDIOLINK 0
+#define PROPM_END_PATHING 0
+#define PROPM_START_FLIPBOOK 0
+#define PROP_ENABLEFLIPBOOK 0
+#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0
+#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0
+#define PROP_FLIPBOOKCOLORREPLACES 0
+#define PROP_FLIPBOOKTEXARRAYUV 0
+#define PROP_FLIPBOOKMASKUV 0
+#define PROP_FLIPBOOKTOTALFRAMES 1
+#define PROP_FLIPBOOKFPS 30
+#define PROP_FLIPBOOKTILED 0
+#define PROP_FLIPBOOKEMISSIONSTRENGTH 0
+#define PROP_FLIPBOOKROTATION 0
+#define PROP_FLIPBOOKROTATIONSPEED 0
+#define PROP_FLIPBOOKREPLACE 1
+#define PROP_FLIPBOOKMULTIPLY 0
+#define PROP_FLIPBOOKADD 0
+#define PROPM_START_FLIPBOOKAUDIOLINK 0
+#define PROP_AUDIOLINKFLIPBOOKSCALEBAND 0
+#define PROP_AUDIOLINKFLIPBOOKALPHABAND 0
+#define PROP_AUDIOLINKFLIPBOOKEMISSIONBAND 0
+#define PROP_AUDIOLINKFLIPBOOKFRAMEBAND 0
+#define PROPM_END_FLIPBOOKAUDIOLINK 0
+#define PROPM_START_MANUALFLIPBOOKCONTROL 0
+#define PROP_FLIPBOOKCURRENTFRAME -1
+#define PROPM_END_MANUALFLIPBOOKCONTROL 0
+#define PROPM_START_CROSSFADE 0
+#define PROP_FLIPBOOKCROSSFADEENABLED 0
+#define PROPM_END_CROSSFADE 0
+#define PROPM_START_FLIPBOOKHUESHIFT 0
+#define PROP_FLIPBOOKHUESHIFTENABLED 0
+#define PROP_FLIPBOOKHUESHIFTSPEED 0
+#define PROP_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOKHUESHIFT 0
+#define PROPM_END_FLIPBOOK 0
+#define PROPM_START_DISSOLVE 0
+#define PROP_ENABLEDISSOLVE 0
+#define PROP_DISSOLVETYPE 1
+#define PROP_DISSOLVEEDGEWIDTH 0.025
+#define PROP_DISSOLVEEDGEHARDNESS 0.5
+#define PROP_DISSOLVEEDGEEMISSION 0
+#define PROP_DISSOLVETOTEXTUREUV 0
+#define PROP_DISSOLVETOEMISSIONSTRENGTH 0
+#define PROP_DISSOLVENOISETEXTUREUV 0
+#define PROP_DISSOLVEINVERTNOISE 0
+#define PROP_DISSOLVEDETAILNOISEUV 0
+#define PROP_DISSOLVEINVERTDETAILNOISE 0
+#define PROP_DISSOLVEDETAILSTRENGTH 0.1
+#define PROP_DISSOLVEALPHA 0
+#define PROP_DISSOLVEUSEVERTEXCOLORS 0
+#define PROP_DISSOLVEMASKUV 0
+#define PROP_DISSOLVEMASKINVERT 0
+#define PROP_CONTINUOUSDISSOLVE 0
+#define PROPM_START_DISSOLVEMASKING 0
+#define PROP_DISSOLVEEMISSIONSIDE 2
+#define PROP_DISSOLVEEMISSION1SIDE 2
+#define PROPM_END_DISSOLVEMASKING 0
+#define PROPM_START_POINTTOPOINT 0
+#define PROP_DISSOLVEP2PWORLDLOCAL 0
+#define PROP_DISSOLVEP2PEDGELENGTH 0.1
+#define PROPM_END_POINTTOPOINT 0
+#define PROPM_START_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEHUESHIFTENABLED 0
+#define PROP_DISSOLVEHUESHIFTSPEED 0
+#define PROP_DISSOLVEHUESHIFT 0
+#define PROP_DISSOLVEEDGEHUESHIFTENABLED 0
+#define PROP_DISSOLVEEDGEHUESHIFTSPEED 0
+#define PROP_DISSOLVEEDGEHUESHIFT 0
+#define PROPM_END_DISSOLVEHUESHIFT 0
+#define PROPM_START_BONUSSLIDERS 0
+#define PROP_DISSOLVEALPHA0 0
+#define PROP_DISSOLVEALPHA1 0
+#define PROP_DISSOLVEALPHA2 0
+#define PROP_DISSOLVEALPHA3 0
+#define PROP_DISSOLVEALPHA4 0
+#define PROP_DISSOLVEALPHA5 0
+#define PROP_DISSOLVEALPHA6 0
+#define PROP_DISSOLVEALPHA7 0
+#define PROP_DISSOLVEALPHA8 0
+#define PROP_DISSOLVEALPHA9 0
+#define PROPM_END_BONUSSLIDERS 0
+#define PROPM_START_DISSOLVEAUDIOLINK 0
+#define PROP_ENABLEDISSOLVEAUDIOLINK 0
+#define PROP_AUDIOLINKDISSOLVEALPHABAND 0
+#define PROP_AUDIOLINKDISSOLVEDETAILBAND 0
+#define PROPM_END_DISSOLVEAUDIOLINK 0
+#define PROPM_END_DISSOLVE 0
+#define PROPM_START_PANOSPHEREOPTIONS 0
+#define PROP_PANOTOGGLE 0
+#define PROP_PANOINFINITESTEREOTOGGLE 0
+#define PROP_PANOMASKUV 0
+#define PROP_PANOEMISSION 0
+#define PROP_PANOBLEND 0
+#define PROP_PANOCUBEMAPTOGGLE 0
+#define PROPM_END_PANOSPHEREOPTIONS 0
+#define PROPM_START_GLITTER 0
+#define PROP_GLITTERENABLE 0
+#define PROP_GLITTERMODE 0
+#define PROP_GLITTERSHAPE 0
+#define PROP_GLITTERBLENDTYPE 0
+#define PROP_GLITTERUSESURFACECOLOR 0
+#define PROP_GLITTERCOLORMAPUV 0
+#define PROP_GLITTERMASKUV 0
+#define PROP_GLITTERTEXTUREROTATION 0
+#define PROP_GLITTERFREQUENCY 300
+#define PROP_GLITTERJITTER 1
+#define PROP_GLITTERSPEED 10
+#define PROP_GLITTERSIZE 0.3
+#define PROP_GLITTERCONTRAST 300
+#define PROP_GLITTERANGLERANGE 90
+#define PROP_GLITTERMINBRIGHTNESS 0
+#define PROP_GLITTERBRIGHTNESS 3
+#define PROP_GLITTERBIAS 0.8
+#define PROP_GLITTERHIDEINSHADOW 0
+#define PROP_GLITTERCENTERSIZE 0.08
+#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20
+#define PROP_GLITTERJAGGYFIX 0
+#define PROPM_START_GLITTERHUESHIFT 0
+#define PROP_GLITTERHUESHIFTENABLED 0
+#define PROP_GLITTERHUESHIFTSPEED 0
+#define PROP_GLITTERHUESHIFT 0
+#define PROPM_END_GLITTERHUESHIFT 0
+#define PROPM_START_GLITTERRANDOM 0
+#define PROP_GLITTERRANDOMCOLORS 0
+#define PROP_GLITTERRANDOMSIZE 0
+#define PROP_GLITTERRANDOMROTATION 0
+#define PROPM_END_GLITTERRANDOM 0
+#define PROPM_END_GLITTER 0
+#define PROPM_START_TEXT 0
+#define PROP_TEXTPIXELRANGE 4
+#define PROP_TEXTENABLED 0
+#define PROPM_START_TEXTFPS 0
+#define PROP_TEXTFPSENABLED 0
+#define PROP_TEXTFPSUV 0
+#define PROP_TEXTFPSEMISSIONSTRENGTH 0
+#define PROP_TEXTFPSROTATION 0
+#define PROPM_END_TEXTFPS 0
+#define PROPM_START_TEXTPOSITION 0
+#define PROP_TEXTPOSITIONENABLED 0
+#define PROP_TEXTPOSITIONUV 0
+#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0
+#define PROP_TEXTPOSITIONROTATION 0
+#define PROPM_END_TEXTPOSITION 0
+#define PROPM_START_TEXTINSTANCETIME 0
+#define PROP_TEXTTIMEENABLED 0
+#define PROP_TEXTTIMEUV 0
+#define PROP_TEXTTIMEEMISSIONSTRENGTH 0
+#define PROP_TEXTTIMEROTATION 0
+#define PROPM_END_TEXTINSTANCETIME 0
+#define PROPM_END_TEXT 0
+#define PROPM_START_MIRROROPTIONS 0
+#define PROP_ENABLEMIRROROPTIONS 0
+#define PROP_MIRROR 0
+#define PROP_ENABLEMIRRORTEXTURE 0
+#define PROP_MIRRORTEXTUREUV 0
+#define PROPM_END_MIRROROPTIONS 0
+#define PROPM_START_DISTANCEFADE 0
+#define PROP_MAINFADETEXTUREUV 0
+#define PROP_MAINFADETYPE 1
+#define PROP_MAINMINALPHA 0
+#define PROP_MAINMAXALPHA 1
+#define PROP_MAINDISTANCEFADEMIN 0
+#define PROP_MAINDISTANCEFADEMAX 0
+#define PROPM_END_DISTANCEFADE 0
+#define PROPM_START_ANGULARFADE 0
+#define PROP_ENABLERANDOM 0
+#define PROP_ANGLETYPE 0
+#define PROP_ANGLECOMPARETO 0
+#define PROP_CAMERAANGLEMIN 45
+#define PROP_CAMERAANGLEMAX 90
+#define PROP_MODELANGLEMIN 45
+#define PROP_MODELANGLEMAX 90
+#define PROP_ANGLEMINALPHA 0
+#define PROPM_END_ANGULARFADE 0
+#define PROPM_START_DISTORTIONFLOW 0
+#define PROP_ENABLEDISTORTION 0
+#define PROP_DISTORTIONMASKUV 0
+#define PROP_DISTORTIONSTRENGTH 0.5
+#define PROP_DISTORTIONSTRENGTH1 0.5
+#define PROPM_START_DISTORTIONAUDIOLINK 0
+#define PROP_ENABLEDISTORTIONAUDIOLINK 0
+#define PROP_DISTORTIONSTRENGTHAUDIOLINKBAND 0
+#define PROP_DISTORTIONSTRENGTH1AUDIOLINKBAND 0
+#define PROPM_END_DISTORTIONAUDIOLINK 0
+#define PROPM_END_DISTORTIONFLOW 0
+#define PROPM_START_AUDIOLINK 0
+#define PROP_ENABLEAUDIOLINK 0
+#define PROP_AUDIOLINKHELP 0
+#define PROP_AUDIOLINKANIMTOGGLE 1
+#define PROP_AUDIOLINKDELAY 0
+#define PROP_AUDIOLINKAVERAGING 0
+#define PROP_AUDIOLINKAVERAGERANGE 0.5
+#define PROPM_START_AUDIOLINKDEBUG 0
+#define PROP_ENABLEAUDIOLINKDEBUG 0
+#define PROP_AUDIOLINKDEBUGTREBLE 0
+#define PROP_AUDIOLINKDEBUGHIGHMID 0
+#define PROP_AUDIOLINKDEBUGLOWMID 0
+#define PROP_AUDIOLINKDEBUGBASS 0
+#define PROP_AUDIOLINKDEBUGANIMATE 0
+#define PROP_AUDIOLINKTEXTUREVISUALIZATION 0
+#define PROPM_END_AUDIOLINKDEBUG 0
+#define PROPM_END_AUDIOLINK 0
+#define PROPM_PATREON 0
+#define PROPM_START_VIDEO 0
+#define PROP_ENABLEVIDEO 0
+#define PROP_VIDEOUVNUMBER 0
+#define PROP_VIDEOTYPE 3
+#define PROP_VIDEOBACKLIGHT 1
+#define PROP_VIDEOEMISSIONENABLED 1
+#define PROPM_START_VIDEOSETTINGS 0
+#define PROP_VIDEOENABLEVIDEOPLAYER 0
+#define PROP_VIDEOPIXELATETORESOLUTION 0
+#define PROP_VIDEOREPEATVIDEOTEXTURE 0
+#define PROP_VIDEOSATURATION 0
+#define PROP_VIDEOCONTRAST 0
+#define PROPM_END_VIDEOSETTINGS 0
+#define PROPM_START_VIDEODEBUG 0
+#define PROP_VIDEOENABLEDEBUG 0
+#define PROPM_END_VIDEODEBUG 0
+#define PROPM_START_CRT 0
+#define PROP_VIDEOCRTREFRESHRATE 24
+#define PROP_VIDEOCRTPIXELENERGIZEDTIME 1.9
+#define PROPM_END_CRT 0
+#define PROPM_START_GAMEBOY 0
+#define PROPM_END_GAMEBOY 0
+#define PROPM_END_VIDEO 0
+#define PROPM_START_TOUCHOPTIONS 0
+#define PROPM_START_BULGE 0
+#define PROP_ENABLEBULGE 0
+#define PROP_BULDGEFADELENGTH 0.02
+#define PROP_BULDGEHEIGHT 0.02
+#define PROPM_END_BULGE 0
+#define PROPM_START_TOUCHGLOW 0
+#define PROP_ENABLETOUCHGLOW 0
+#define PROP_DEPTHGRADIENTTEXTUREUV 0
+#define PROP_DEPTHGRADIENTBLEND 0
+#define PROP_DEPTHGRADIENTUV 0
+#define PROP_DEPTHMASKUV 0
+#define PROP_DEPTHGLOWEMISSION 3
+#define PROP_FADELENGTH 20
+#define PROP_DEPTHALPHAMIN 1
+#define PROP_DEPTHALPHAMAX 1
+#define PROPM_END_TOUCHGLOW 0
+#define PROPM_END_TOUCHOPTIONS 0
+#define PROPM_START_HOLOGRAM 0
+#define PROP_ENABLEHOLO 0
+#define PROP_HOLOCOORDINATESPACE 0
+#define PROP_HOLOLINEDENSITY 10
+#define PROP_HOLOSCROLLSPEED 1
+#define PROPM_START_FRESNELALPHA 0
+#define PROP_HOLOFRESNELALPHA 0
+#define PROP_HOLORIMSHARPNESS 0.5
+#define PROP_HOLORIMWIDTH 0.5
+#define PROPM_END_FRESNELALPHA 0
+#define PROPM_END_HOLOGRAM 0
+#define PROPM_START_IRIDESCENCE 0
+#define PROP_ENABLEIRIDESCENCE 0
+#define PROP_IRIDESCENCEPANSPEED 0
+#define PROP_IRIDESCENCEOFFSET 0
+#define PROP_IRIDESCENCENORMALTOGGLE 0
+#define PROP_IRIDESCENCENORMALINTENSITY 1
+#define PROP_IRIDESCENCENORMALUV 0
+#define PROP_IRIDESCENCEMASKUV 0
+#define PROP_IRIDESCENCENORMALSELECTION 1
+#define PROP_IRIDESCENCEINTENSITY 1
+#define PROP_IRIDESCENCEADDBLEND 0
+#define PROP_IRIDESCENCEREPLACEBLEND 0
+#define PROP_IRIDESCENCEMULTIPLYBLEND 0
+#define PROP_IRIDESCENCEEMISSIONSTRENGTH 0
+#define PROP_IRIDESCENCETIME 0
+#define PROP_IRIDESCENCEHUESHIFTENABLED 0
+#define PROP_IRIDESCENCEHUESHIFTSPEED 0
+#define PROP_IRIDESCENCEHUESHIFT 0
+#define PROPM_START_IRIDESCENCEAUDIOLINK 0
+#define PROP_IRIDESCENCEAUDIOLINKEMISSIONBAND 0
+#define PROPM_END_IRIDESCENCEAUDIOLINK 0
+#define PROPM_END_IRIDESCENCE 0
+#define PROPM_START_VERTEXGLITCH 0
+#define PROP_ENABLEVERTEXGLITCH 0
+#define PROP_VERTEXGLITCHFREQUENCY 0
+#define PROP_VERTEXGLITCHTHRESHOLD 1
+#define PROP_VERTEXGLITCHSTRENGTH 1
+#define PROPM_END_VERTEXGLITCH 0
+#define PROPM_START_SPAWNS 0
+#define PROPM_START_SCIFISPAWNIN 0
+#define PROP_ENABLESCIFISPAWNIN 0
+#define PROP_SPAWNINNOISEINTENSITY 0.35
+#define PROP_SPAWNINALPHA 0
+#define PROP_SPAWNINEMISSIONOFFSET 0.1
+#define PROP_SPAWNINVERTOFFSET 10
+#define PROP_SPAWNINVERTOFFSETOFFSET 0.1
+#define PROPM_END_SCIFISPAWNIN 0
+#define PROPM_END_SPAWNS 0
+#define PROPM_START_VORONOI 0
+#define PROP_VORONOITYPE 1
+#define PROP_VORONOISPACE 0
+#define PROP_VORONOIBLEND 0
+#define PROP_ENABLEVORONOI 0
+#define PROP_VORONOIEFFECTSMATERIALALPHA 0
+#define PROP_VORONOIMASKUV 0
+#define PROP_VORONOINOISEUV 0
+#define PROP_VORONOINOISEINTENSITY 0.1
+#define PROP_VORONOIEMISSION0 0
+#define PROP_VORONOIEMISSION1 0
+#define PROP_VORONOISCALE 5
+#define PROPM_START_VORONOIRANDOM 0
+#define PROP_VORONOIENABLERANDOMCELLCOLOR 0
+#define PROPM_END_VORONOIRANDOM 0
+#define PROPM_END_VORONOI 0
+#define PROPM_START_BLACKLIGHT 0
+#define PROP_BLACKLIGHTMASKENABLED 0
+#define PROP_BLACKLIGHTMASKDEBUG 0
+#define PROP_BLACKLIGHTMASKMETALLIC 4
+#define PROP_BLACKLIGHTMASKCLEARCOAT 4
+#define PROP_BLACKLIGHTMASKMATCAP 4
+#define PROP_BLACKLIGHTMASKMATCAP2 4
+#define PROP_BLACKLIGHTMASKEMISSION 4
+#define PROP_BLACKLIGHTMASKEMISSION2 4
+#define PROP_BLACKLIGHTMASKFLIPBOOK 4
+#define PROP_BLACKLIGHTMASKDISSOLVE 4
+#define PROP_BLACKLIGHTMASKPANOSPHERE 4
+#define PROP_BLACKLIGHTMASKGLITTER 4
+#define PROP_BLACKLIGHTMASKIRIDESCENCE 4
+#define PROPM_END_BLACKLIGHT 0
+#define PROPM_OUTLINEOPTIONS 0
+#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0
+#define PROP_OUTLINEMODE 0
+#define PROP_OUTLINETINTMIX 0
+#define PROP_OUTLINERIMLIGHTBLEND 0
+#define PROP_OUTLINEFIXEDSIZE 0
+#define PROP_OUTLINESMAXDISTANCE 9999
+#define PROP_OUTLINEUSEVERTEXCOLORS 0
+#define PROP_OUTLINELIT 1
+#define PROP_LINEWIDTH 0
+#define PROP_OUTLINEEMISSION 0
+#define PROP_OUTLINETEXTUREUV 0
+#define PROP_OUTLINEMASKUV 0
+#define PROP_OUTLINESHADOWSTRENGTH 1
+#define PROP_OUTLINEHUESHIFT 0
+#define PROP_OUTLINEHUEOFFSET 0
+#define PROP_OUTLINEHUEOFFSETSPEED 0
+#define PROPM_START_OUTLINEADVANCED 0
+#define PROP_OUTLINECULL 1
+#define PROP_OUTLINEOFFSETFACTOR 0
+#define PROP_OUTLINEOFFSETUNITS 0
+#define PROPM_END_OUTLINEADVANCED 0
+#define PROPM_PARALLAXMAP 0
+#define PROP_PARALLAXMAP 0
+#define PROP_PARALLAXHEIGHTMAPENABLED 0
+#define PROP_PARALLAXINTERNALMAPENABLED 0
+#define PROPM_START_PARALLAXHEIGHTMAP 0
+#define PROP_PARALLAXUV 0
+#define PROP_PARALLAXHEIGHTMAPMASKUV 0
+#define PROP_PARALLAXSTRENGTH 0
+#define PROPM_END_PARALLAXHEIGHTMAP 0
+#define PROPM_START_PARALLAXINTERNAL 0
+#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0
+#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0
+#define PROP_PARALLAXINTERNALMAPMASKUV 0
+#define PROP_PARALLAXINTERNALITERATIONS 1
+#define PROP_PARALLAXINTERNALMINDEPTH 0
+#define PROP_PARALLAXINTERNALMAXDEPTH 1
+#define PROP_PARALLAXINTERNALMINFADE 0
+#define PROP_PARALLAXINTERNALMAXFADE 1
+#define PROPM_END_PARALLAXINTERNAL 0
+#define PROPM_START_PARALLAXADVANCED 0
+#define PROP_PARALLAXBIAS 0.42
+#define PROPM_END_PARALLAXADVANCED 0
+#define PROPM_POSTPROCESSING 0
+#define PROP_PPHELP 0
+#define PROP_PPLIGHTINGMULTIPLIER 1
+#define PROP_PPEMISSIONMULTIPLIER 1
+#define PROPM_THIRDPARTY 1
+#define PROPM_START_RALIV 1
+#define PROP_RALIVHELP 0
+#define PROPM_START_RALIVPENETRATOR 1
+#define PROP_PENETRATORENABLED 1
+#define PROP_SQUEEZE 0.2
+#define PROP_SQUEEZEDIST 0.0259
+#define PROP_BULGEPOWER 0.00072
+#define PROP_BULGEOFFSET 0.053
+#define PROP_LENGTH 0.3580336
+#define PROP_ENTRANCESTIFFNESS 0.01
+#define PROP_CURVATURE 0
+#define PROP_RECURVATURE 0
+#define PROP_WRIGGLE 0
+#define PROP_WRIGGLESPEED 6.2
+#define PROP__DIRTY 0
+#define PROPM_END_RALIVPENETRATOR 0
+#define PROPM_START_RALIVORIFACE 0
+#define PROP_ORIFACEENABLED 0
+#define PROP_ENTRYOPENDURATION 0.1
+#define PROP_SHAPE1DEPTH 0.1
+#define PROP_SHAPE1DURATION 0.1
+#define PROP_SHAPE2DEPTH 0.2
+#define PROP_SHAPE2DURATION 0.1
+#define PROP_SHAPE3DEPTH 0.3
+#define PROP_SHAPE3DURATION 0.1
+#define PROP_BLENDSHAPEPOWER 1
+#define PROP_BLENDSHAPEBADSCALEFIX 1
+#define PROPM_END_RALIVORIFACE 0
+#define PROPM_START_RALIVADVANCED 1
+#define PROP_RALIVADVANCEDHELP 0
+#define PROP_ORIFICECHANNEL 0
+#define PROPM_END_RALIVADVANCED 0
+#define PROPM_END_RALIV 0
+#define PROPM_RENDERINGOPTIONS 0
+#define PROP_CULL 2
+#define PROP_ZTEST 4
+#define PROP_ZWRITE 1
+#define PROP_COLORMASK 15
+#define PROP_OFFSETFACTOR 0
+#define PROP_OFFSETUNITS 0
+#define PROP_IGNOREFOG 0
+#define PROPINSTANCING 0
+#define PROPM_START_BLENDING 0
+#define PROP_BLENDOP 0
+#define PROP_BLENDOPALPHA 0
+#define PROP_SRCBLEND 1
+#define PROP_DSTBLEND 0
+#define PROPM_END_BLENDING 0
+#define PROPM_START_STENCILPASSOPTIONS 0
+#define PROP_STENCILREF 0
+#define PROP_STENCILREADMASK 255
+#define PROP_STENCILWRITEMASK 255
+#define PROP_STENCILPASSOP 0
+#define PROP_STENCILFAILOP 0
+#define PROP_STENCILZFAILOP 0
+#define PROP_STENCILCOMPAREFUNCTION 8
+#define PROPM_END_STENCILPASSOPTIONS 0
+#define PROPM_START_OUTLINESTENCIL 0
+#define PROP_OUTLINESTENCILREF 0
+#define PROP_OUTLINESTENCILREADMASK 255
+#define PROP_OUTLINESTENCILWRITEMASK 255
+#define PROP_OUTLINESTENCILPASSOP 0
+#define PROP_OUTLINESTENCILFAILOP 0
+#define PROP_OUTLINESTENCILZFAILOP 0
+#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8
+#define PROPM_END_OUTLINESTENCIL 0
+#define PROPM_START_DEBUGOPTIONS 0
+#define PROP_DEBUGENABLED 0
+#define PROP_VERTEXUNWRAP 0
+#define PROP_DEBUGMESHDATA 0
+#define PROP_DEBUGLIGHTINGDATA 0
+#define PROP_DEBUGCAMERADATA 0
+#define PROPM_END_DEBUGOPTIONS 0
+
+ #pragma target 5.0
+ #define POI_META_PASS
+ float _Mode;
+ #pragma vertex vert
+ #pragma fragment frag
+ #include "/CGI_PoiPass.cginc"
+ ENDCG
+ }
+ }
+}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader.meta
new file mode 100644
index 00000000..6438ec06
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Human_Basic/OptimizedShaders/Human_Basic_Poi/S_Poiyomi_Pro.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: eaa38c002ef5d6641ab21a1c1f6183ad
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs
new file mode 100644
index 00000000..36f6df01
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs
@@ -0,0 +1,15 @@
+#if UNITY_EDITOR
+using System.Collections;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEngine;
+
+public static class OldVersionCheck {
+ [UnityEditor.Callbacks.DidReloadScripts]
+ public static void OnScriptsReloaded() {
+ if (System.IO.Directory.Exists(AssetDatabase.GUIDToAssetPath("66b81bbcb27723e4ea85b86918446223"))) {
+ EditorUtility.DisplayDialog("OLD VERSION DETECTED", "OLD INSTALL DETECTED! You must delete both DynamicPenetrationSystem and RalivDynamicPenetrationSystem folders and reimport the package!", "OK");
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs.meta
new file mode 100644
index 00000000..21384683
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OldVersionCheck.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d6d719f7feb7a7a45ad7697d67669762
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader
new file mode 100644
index 00000000..a043e526
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader
@@ -0,0 +1,200 @@
+Shader "Raliv/Orifice"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Color("Color", Color) = (1,1,1,0)
+ _Metallic("Metallic", 2D) = "black" {}
+ _Smoothness("Smoothness", Range( 0 , 1)) = 1
+ _BumpMap("Normal Map", 2D) = "bump" {}
+ _Emission("Emission", 2D) = "black" {}
+ _EmissionPower("EmissionPower", Range( 0 , 3)) = 1
+ _Occlusion("Occlusion", 2D) = "white" {}
+ _OrificeData("OrificeData", 2D) = "white" {}
+ _EntryOpenDuration("Entry Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape1Depth("Shape 1 Trigger Depth", Range( 0 , 5)) = 0.1
+ _Shape1Duration("Shape 1 Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape2Depth("Shape 2 Trigger Depth", Range( 0 , 5)) = 0.2
+ _Shape2Duration("Shape 2 Trigger Duration", Range( 0 , 1)) = 0.1
+ _Shape3Depth("Shape 3 Trigger Depth", Range( 0 , 5)) = 0.3
+ _Shape3Duration("Shape 3 Trigger Duration", Range( 0 , 1)) = 0.1
+ _BlendshapePower("Blend Shape Power", Range(0,5)) = 1
+ _BlendshapeBadScaleFix("Blend Shape Bad Scale Fix", Range(1,100)) = 1
+ [Header(Advanced)]_OrificeChannel("OrificeChannel Please Use 0", Float) = 0
+ [Header(Toon Shading (Check to activate))]_CellShadingSharpness("Cell Shading Sharpness", Range( 0 , 1)) = 0
+ _ToonSpecularSize("ToonSpecularSize", Range( 0 , 1)) = 0
+ _ToonSpecularIntensity("ToonSpecularIntensity", Range( 0 , 1)) = 0
+ [Toggle(_TOONSHADING_ON)] _ToonShading("Toon Shading", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" }
+ Cull Back
+ CGPROGRAM
+ #include "UnityPBSLighting.cginc"
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+ #pragma target 3.0
+ #pragma multi_compile __ _TOONSHADING_ON
+ #pragma surface surf StandardCustomLighting keepalpha noshadow vertex:vertexDataFunc
+
+ struct appdata_full_custom
+ {
+ float4 vertex : POSITION;
+ float4 tangent : TANGENT;
+ float3 normal : NORMAL;
+ float4 texcoord : TEXCOORD0;
+ float4 texcoord1 : TEXCOORD1;
+ float4 texcoord2 : TEXCOORD2;
+ float4 texcoord3 : TEXCOORD3;
+ fixed4 color : COLOR;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ uint vertexId : SV_VertexID;
+ };
+
+ struct Input
+ {
+ float2 uv_texcoord;
+ float3 worldNormal;
+ INTERNAL_DATA
+ float3 worldPos;
+ };
+
+ struct SurfaceOutputCustomLightingCustom
+ {
+ half3 Albedo;
+ half3 Normal;
+ half3 Emission;
+ half Metallic;
+ half Smoothness;
+ half Occlusion;
+ half Alpha;
+ Input SurfInput;
+ UnityGIInput GIData;
+ };
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float4 _Color;
+ uniform sampler2D _BumpMap;
+ uniform float4 _BumpMap_ST;
+ uniform sampler2D _Emission;
+ uniform float4 _Emission_ST;
+ uniform float _EmissionPower;
+ uniform sampler2D _Metallic;
+ uniform float4 _Metallic_ST;
+ uniform float _Smoothness;
+ uniform sampler2D _Occlusion;
+ uniform float4 _Occlusion_ST;
+ uniform float _CellShadingSharpness;
+ uniform float _ToonSpecularSize;
+ uniform float _ToonSpecularIntensity;
+
+ #define RALIV_ORIFICE;
+
+ #include "../Plugins/RalivDPS_Defines.cginc"
+ #include "../Plugins/RalivDPS_Functions.cginc"
+
+
+ void vertexDataFunc( inout appdata_full_custom v, out Input o ) {
+ UNITY_INITIALIZE_OUTPUT( Input, o );
+ float3 normal = normalize( v.normal );
+ float3 tangent = normalize( v.tangent.xyz );
+ float3 binormal = normalize(cross( normal , tangent ));
+ OrificeReshape(v.vertex, v.normal, v.tangent.xyz, v.vertexId);
+ }
+
+ inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi )
+ {
+ UnityGIInput data = s.GIData;
+ Input i = s.SurfInput;
+ half4 c = 0;
+ SurfaceOutputStandard s393 = (SurfaceOutputStandard) 0;
+ float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float4 tex2DNode145 = tex2D( _MainTex, uv_MainTex );
+ float4 temp_output_146_0 = ( tex2DNode145 * _Color );
+ s393.Albedo = temp_output_146_0.rgb;
+ float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
+ float3 tex2DNode147 = UnpackNormal( tex2D( _BumpMap, uv_BumpMap ) );
+ s393.Normal = WorldNormalVector( i , tex2DNode147 );
+ float2 uv_Emission = i.uv_texcoord * _Emission_ST.xy + _Emission_ST.zw;
+ float4 tex2DNode283 = tex2D( _Emission, uv_Emission );
+ s393.Emission = ( tex2DNode283 * _EmissionPower ).rgb;
+ float2 uv_Metallic = i.uv_texcoord * _Metallic_ST.xy + _Metallic_ST.zw;
+ float4 tex2DNode148 = tex2D( _Metallic, uv_Metallic );
+ s393.Metallic = tex2DNode148.r;
+ s393.Smoothness = ( tex2DNode148.a * _Smoothness );
+ float2 uv_Occlusion = i.uv_texcoord * _Occlusion_ST.xy + _Occlusion_ST.zw;
+ s393.Occlusion = tex2D( _Occlusion, uv_Occlusion ).r;
+
+ data.light = gi.light;
+
+ UnityGI gi393 = gi;
+ #ifdef UNITY_PASS_FORWARDBASE
+ Unity_GlossyEnvironmentData g393 = UnityGlossyEnvironmentSetup( s393.Smoothness, data.worldViewDir, s393.Normal, float3(0,0,0));
+ gi393 = UnityGlobalIllumination( data, s393.Occlusion, s393.Normal, g393 );
+ #endif
+
+ float3 surfResult393 = LightingStandard ( s393, viewDir, gi393 ).rgb;
+ surfResult393 += s393.Emission;
+
+ #ifdef UNITY_PASS_FORWARDADD//393
+ surfResult393 -= s393.Emission;
+ #endif//393
+ #if defined(LIGHTMAP_ON) && ( UNITY_VERSION < 560 || ( defined(LIGHTMAP_SHADOW_MIXING) && !defined(SHADOWS_SHADOWMASK) && defined(SHADOWS_SCREEN) ) )//aselc
+ float4 ase_lightColor = 0;
+ #else //aselc
+ float4 ase_lightColor = _LightColor0;
+ #endif //aselc
+ float3 newWorldNormal396 = (WorldNormalVector( i , tex2DNode147 ));
+ float3 ase_worldPos = i.worldPos;
+ #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld
+ float3 ase_worldlightDir = 0;
+ #else //aseld
+ float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) );
+ #endif //aseld
+ float dotResult5_g1 = dot( newWorldNormal396 , ase_worldlightDir );
+ float temp_output_402_0 = ( _CellShadingSharpness * 10.0 );
+ UnityGI gi411 = gi;
+ float3 diffNorm411 = WorldNormalVector( i , tex2DNode147 );
+ gi411 = UnityGI_Base( data, 1, diffNorm411 );
+ float3 indirectDiffuse411 = gi411.indirect.diffuse + diffNorm411 * 0.0001;
+ float temp_output_470_0 = ( 1.0 - _ToonSpecularSize );
+ float temp_output_457_0 = ( temp_output_470_0 * temp_output_470_0 );
+ float3 normalizeResult446 = normalize( reflect( -ase_worldlightDir , newWorldNormal396 ) );
+ float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
+ float dotResult418 = dot( normalizeResult446 , ase_worldViewDir );
+ float saferPower437 = max( dotResult418 , 0.0001 );
+ float temp_output_437_0 = pow( saferPower437 , 20.0 );
+ float smoothstepResult449 = smoothstep( temp_output_457_0 , ( temp_output_457_0 + ( ( 1.1 - temp_output_457_0 ) * 0.5 ) ) , temp_output_437_0);
+ #ifdef _TOONSHADING_ON
+ float4 staticSwitch436 = ( ( ase_lightColor * max( saturate( (-temp_output_402_0 + ((dotResult5_g1*0.5 + 0.5) - 0.0) * (( temp_output_402_0 + 1.0 ) - -temp_output_402_0) / (1.0 - 0.0)) ) , 0.1 ) * temp_output_146_0 ) + ( float4( indirectDiffuse411 , 0.0 ) * temp_output_146_0 ) + ( ase_lightColor * saturate( smoothstepResult449 ) * _ToonSpecularIntensity ) );
+ #else
+ float4 staticSwitch436 = float4( surfResult393 , 0.0 );
+ #endif
+ c.rgb = staticSwitch436.rgb;
+ c.a = 1;
+ return c;
+ }
+
+ inline void LightingStandardCustomLighting_GI( inout SurfaceOutputCustomLightingCustom s, UnityGIInput data, inout UnityGI gi )
+ {
+ s.GIData = data;
+ }
+
+ void surf( Input i , inout SurfaceOutputCustomLightingCustom o )
+ {
+ o.SurfInput = i;
+ o.Normal = float3(0,0,1);
+ float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float4 tex2DNode145 = tex2D( _MainTex, uv_MainTex );
+ float4 temp_output_146_0 = ( tex2DNode145 * _Color );
+ o.Albedo = temp_output_146_0.rgb;
+ }
+
+ ENDCG
+ }
+}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader.meta
new file mode 100644
index 00000000..619e5231
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Orifice.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d685ee26b37f5214593b251787ab0076
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat
new file mode 100644
index 00000000..c42ae602
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OrificeHole
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0.5188679, g: 0.5188679, b: 0.5188679, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat.meta
new file mode 100644
index 00000000..3802e09c
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeHole.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a10ba9e558a2193469f2f09ff6826c54
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat
new file mode 100644
index 00000000..cc0e5077
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OrificeMarker
+ m_Shader: {fileID: 10723, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 576e93837d62023429369f679dc975ea, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0, g: 0, b: 0, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat.meta
new file mode 100644
index 00000000..95c5c94e
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeMarker.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e85b1585b1719c541966c98fa00554d2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat
new file mode 100644
index 00000000..2d0d4fe6
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OrificeRing
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.6549444, g: 0.495283, b: 1, a: 1}
+ - _EmissionColor: {r: 0.5188679, g: 0.5188679, b: 0.5188679, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat.meta
new file mode 100644
index 00000000..03654f50
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeRing.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac8093200c5b196478edbe91295c6e43
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs
new file mode 100644
index 00000000..961b661c
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs
@@ -0,0 +1,152 @@
+#if UNITY_EDITOR
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+using UnityEngine.Experimental.Rendering;
+
+public class OrificeSetup : ScriptableWizard {
+
+ public GameObject orifice;
+ private string errorInfo="";
+ private int[] shapes;
+ private Material orificeMaterial;
+
+ [MenuItem("Tools/Raliv/Orifice Setup")]
+ static void Setup() {
+ ScriptableWizard.DisplayWizard<OrificeSetup>("Orifice Setup");
+ }
+
+ private List<string> blendshapeNameList(Mesh m) {
+ List<string> nameList = new List<string>();
+ nameList.Add("None");
+ for (int i=0; i<m.blendShapeCount; i++) {
+ nameList.Add(m.GetBlendShapeName(i));
+ }
+ return nameList;
+ }
+
+ Vector3 ToTangentSpace(Vector3 input, Vector3 normal, Vector3 tangent) {
+ Vector3 X = normal;
+ Vector3 Y = new Vector3(tangent.x, tangent.y, tangent.z);
+ Vector3 Z = Vector3.Cross(X, Y);
+ Vector3.OrthoNormalize(ref X, ref Y, ref Z);
+ Matrix4x4 toNewSpace = new Matrix4x4();
+ toNewSpace.SetRow(0, X);
+ toNewSpace.SetRow(1, Y);
+ toNewSpace.SetRow(2, Z);
+ toNewSpace[3, 3] = 1.0F;
+ return toNewSpace.MultiplyPoint(input);
+ }
+
+ void BlitShape(Texture2D texture, Mesh mesh, int shapeIndex, int encodingIndex) {
+ Vector3[] deltaVerts = new Vector3[mesh.vertexCount];
+ Vector3[] deltaNormals = new Vector3[mesh.vertexCount];
+ Vector3[] deltaTangents = new Vector3[mesh.vertexCount];
+ Vector3[] vertices = mesh.vertices;
+ Vector3[] normals = mesh.normals;
+ Vector4[] tangents = mesh.tangents;
+
+ mesh.GetBlendShapeFrameVertices(shapeIndex, 0, deltaVerts, deltaNormals, deltaTangents);
+ BlitShapeInfo(texture, encodingIndex*2, vertices, normals, tangents, deltaVerts);
+ BlitShapeInfo(texture, encodingIndex*2+1, vertices, normals, tangents, deltaNormals);
+ }
+
+ void BlitShapeInfo(Texture2D texture, float index, Vector3[] v, Vector3[] n, Vector4[] t, Vector3[] d) {
+ Color color;
+ int currentVert=0;
+ for (int y = Mathf.FloorToInt((texture.height/8f)*index); y < Mathf.FloorToInt((texture.height/8f)*(index+1)); y++) {
+ for (int x = 0; x < texture.width; x++) {
+ if (currentVert<d.Length) {
+ Vector3 deltaVert=Vector3.zero;
+ deltaVert = d[currentVert];
+ float tn=Vector3.Project(deltaVert, n[currentVert]).magnitude * Mathf.Sign(Vector3.Dot(deltaVert, n[currentVert]));
+ float tt=Vector3.Project(deltaVert, t[currentVert]).magnitude * Mathf.Sign(Vector3.Dot(deltaVert, t[currentVert]));
+ float tb=Vector3.Project(deltaVert, Vector3.Cross(n[currentVert].normalized, t[currentVert].normalized)).magnitude * Mathf.Sign(Vector3.Dot(deltaVert, Vector3.Cross(n[currentVert].normalized, t[currentVert].normalized)));
+ tn+=1f;
+ tt+=1f;
+ tb+=1f;
+ color = new Color(tn, tt, tb);
+ //Vector3 ntb=ToTangentSpace(deltaVert, n[currentVert], t[currentVert]);
+ //ntb+=Vector3.one;
+ //color = new Color(ntb.x, ntb.y, ntb.z);
+ texture.SetPixel(x, y, color);
+ currentVert++;
+ } else {
+ //texture.SetPixel(x, y, new Color(128f/255f,128f/255f,128f/255f));
+ texture.SetPixel(x, y, new Color(1f,1f,1f));
+ }
+ }
+ }
+ }
+
+ void CreateTexture() {
+ SkinnedMeshRenderer meshRenderer = orifice.GetComponent<SkinnedMeshRenderer>();
+ Mesh mesh = meshRenderer.sharedMesh;
+ if (mesh.tangents.Length<mesh.vertices.Length) {
+ errorInfo="Tangents not available";
+ } else {
+ Texture2D texture = new Texture2D(1024, 1024, TextureFormat.RGBAFloat, false, true);
+ var fillColorArray = texture.GetPixels();
+ for(var i = 0; i < fillColorArray.Length; ++i)
+ {
+ fillColorArray[i] = new Color(1f,1f,1f);
+ }
+ texture.SetPixels( fillColorArray );
+ if (shapes[0]>0) BlitShape(texture, mesh, shapes[0]-1, 0);
+ if (shapes[1]>0) BlitShape(texture, mesh, shapes[1]-1, 1);
+ if (shapes[2]>0) BlitShape(texture, mesh, shapes[2]-1, 2);
+ if (shapes[3]>0) BlitShape(texture, mesh, shapes[3]-1, 3);
+ texture.Apply();
+ AssetDatabase.CreateAsset(texture, "Assets/RalivDynamicPenetrationSystem/MyData/"+orifice.name+".asset");
+ AssetDatabase.SaveAssets();
+ if (orifice.GetComponent<SkinnedMeshRenderer>()!=null) {
+ orificeMaterial.SetTexture("_OrificeData",(Texture2D)AssetDatabase. LoadAssetAtPath("Assets/RalivDynamicPenetrationSystem/MyData/"+orifice.name+".asset",typeof(Texture2D)));
+ }
+ }
+ }
+
+ void FindOrificeMaterial(SkinnedMeshRenderer meshRenderer) {
+ for (int i=0;i<meshRenderer.sharedMaterials.Length;i++) {
+ if (meshRenderer.sharedMaterials[i].HasProperty("_OrificeData")) orificeMaterial=meshRenderer.sharedMaterials[i];
+ }
+ }
+
+ void OnGUI() {
+ GUIStyle textStyle = EditorStyles.label;
+ textStyle.wordWrap = true;
+ if (shapes==null) shapes=new int[4];
+ orifice = (GameObject)EditorGUILayout.ObjectField("Orifice", orifice, typeof(GameObject), true);
+ if (errorInfo!="") EditorGUILayout.HelpBox(errorInfo, MessageType.Error);
+ if (orifice==null) {
+ EditorGUILayout.HelpBox("Drop your orifice object above", MessageType.Info);
+ } else {
+ if (orifice.GetComponent<SkinnedMeshRenderer>()==null) {
+ EditorGUILayout.HelpBox("No skinned mesh renderer detected!", MessageType.Error);
+ } else {
+ if (orificeMaterial==null) {
+ FindOrificeMaterial(orifice.GetComponent<SkinnedMeshRenderer>());
+ if (orificeMaterial==null) EditorGUILayout.HelpBox("Mesh does not have orifice material!", MessageType.Error);
+ } else {
+ EditorGUILayout.LabelField("Select blendshapes for penetration deformations", textStyle);
+ EditorGUILayout.LabelField("", textStyle);
+ EditorGUILayout.LabelField("Entrance", textStyle);
+ shapes[0] = EditorGUILayout.Popup(shapes[0], blendshapeNameList(orifice.GetComponent<SkinnedMeshRenderer>().sharedMesh).ToArray());
+ EditorGUILayout.LabelField("Depth1", textStyle);
+ shapes[1] = EditorGUILayout.Popup(shapes[1], blendshapeNameList(orifice.GetComponent<SkinnedMeshRenderer>().sharedMesh).ToArray());
+ EditorGUILayout.LabelField("Depth2", textStyle);
+ shapes[2] = EditorGUILayout.Popup(shapes[2], blendshapeNameList(orifice.GetComponent<SkinnedMeshRenderer>().sharedMesh).ToArray());
+ EditorGUILayout.LabelField("Depth3", textStyle);
+ shapes[3] = EditorGUILayout.Popup(shapes[3], blendshapeNameList(orifice.GetComponent<SkinnedMeshRenderer>().sharedMesh).ToArray());
+ EditorGUILayout.LabelField("", textStyle);
+ if (GUILayout.Button("Generate Texture")) {
+ CreateTexture();
+ Close();
+ }
+ }
+ }
+ }
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs.meta
new file mode 100644
index 00000000..1f546801
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/OrificeSetup.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8064fb06891146e4b9665405949f67dd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx
new file mode 100644
index 00000000..82f83a88
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx.meta
new file mode 100644
index 00000000..76745575
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: 6de9784753562c142b4ab23b00633189
+ModelImporter:
+ serializedVersion: 23
+ fileIDToRecycleName:
+ 100000: //RootNode
+ 400000: //RootNode
+ 2100000: No Name
+ 2300000: //RootNode
+ 3300000: //RootNode
+ 4300000: Cube
+ externalObjects: {}
+ materials:
+ importMaterials: 1
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ motionNodeName:
+ rigImportErrors:
+ rigImportWarnings:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 1
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations: []
+ isReadable: 1
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ importVisibility: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ optimizeMeshForGPU: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVPackMargin: 4
+ useFileScale: 0
+ previousCalculatedGlobalScale: 1
+ hasPreviousCalculatedGlobalScale: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ importAnimation: 1
+ copyAvatar: 0
+ humanDescription:
+ serializedVersion: 2
+ human: []
+ skeleton: []
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 0
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ animationType: 0
+ humanoidOversampling: 1
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab
new file mode 100644
index 00000000..4792daf0
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab
@@ -0,0 +1,207 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4389529110099384226
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4389529110099384227}
+ - component: {fileID: 8675223277453033197}
+ m_Layer: 0
+ m_Name: Physics
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4389529110099384227
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4389529110099384226}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 5650597270455475035}
+ m_Father: {fileID: 4389529110882590897}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8675223277453033197
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4389529110099384226}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f9ac8d30c6a0d9642a11e5be4c440740, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Root: {fileID: 4389529110099384227}
+ m_UpdateRate: 60
+ m_UpdateMode: 0
+ m_Damping: 0.05
+ m_DampingDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Elasticity: 0.1
+ m_ElasticityDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Stiffness: 0.05
+ m_StiffnessDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Inert: 0.99
+ m_InertDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Friction: 0
+ m_FrictionDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Radius: 0.06
+ m_RadiusDistrib:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_EndLength: 0
+ m_EndOffset: {x: 0, y: 0, z: 0}
+ m_Gravity: {x: 0, y: 0, z: 0}
+ m_Force: {x: 0, y: 0, z: 0}
+ m_Colliders: []
+ m_Exclusions: []
+ m_FreezeAxis: 0
+ m_DistantDisable: 0
+ m_ReferenceObject: {fileID: 0}
+ m_DistanceToObject: 20
+--- !u!1 &4389529110882590899
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4389529110882590897}
+ m_Layer: 0
+ m_Name: Penetrator_Template
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4389529110882590897
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4389529110882590899}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 4389529110099384227}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &6435214739237153783
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 4389529110099384227}
+ m_Modifications:
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0.01
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1667613833828298927, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ propertyPath: m_Name
+ value: Tip
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 39b904adffea5224d96a03d82ec889cb, type: 3}
+--- !u!4 &5650597270455475035 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1667613833828298924, guid: 39b904adffea5224d96a03d82ec889cb,
+ type: 3}
+ m_PrefabInstance: {fileID: 6435214739237153783}
+ m_PrefabAsset: {fileID: 0}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab.meta
new file mode 100644
index 00000000..36ecaf7f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 051e9425f6d1d1b4e910b4d91f883c6c
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader
new file mode 100644
index 00000000..64d73662
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader
@@ -0,0 +1,249 @@
+Shader "Raliv/Penetrator"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Color("Color", Color) = (0,0,0,0)
+ _Metallic("Metallic", 2D) = "black" {}
+ _Smoothness("Smoothness", Range( 0 , 1)) = 1
+ _BumpMap("Normal Map", 2D) = "bump" {}
+ _Emission("Emission", 2D) = "black" {}
+ _EmissionPower("EmissionPower", Range( 0 , 3)) = 1
+ _Occlusion("Occlusion", 2D) = "white" {}
+ [Header(Penetration Entry Deformation)]_Squeeze("Squeeze Minimum Size", Range( 0 , 0.2)) = 0
+ _SqueezeDist("Squeeze Smoothness", Range( 0 , 0.1)) = 0
+ _BulgePower("Bulge Amount", Range( 0 , 1)) = 0
+ _BulgeOffset("Bulge Length", Range( 0 , 0.3)) = 0
+ _Length("Length of Penetrator Model", Range( 0 , 3)) = 0
+ [Header(Alignment Adjustment)]_EntranceStiffness("Entrance Stiffness", Range( 0.01 , 1)) = 0.01
+ [Header(Resting Curvature)]_Curvature("Curvature", Range( -1 , 1)) = 0
+ _ReCurvature("ReCurvature", Range( -1 , 1)) = 0
+ [Header(Movement)]_Wriggle("Wriggle Amount", Range( 0 , 1)) = 0
+ _WriggleSpeed("Wriggle Speed", Range( 0.1 , 30)) = 0.28
+ [Header(Toon Shading (Check to activate))]_CellShadingSharpness("Cell Shading Sharpness", Range( 0 , 1)) = 0
+ _ToonSpecularSize("ToonSpecularSize", Range( 0 , 1)) = 0
+ _ToonSpecularIntensity("ToonSpecularIntensity", Range( 0 , 1)) = 0
+ [Toggle(_TOONSHADING_ON)] _ToonShading("Toon Shading", Float) = 0
+ [Header(Advanced)]_OrificeChannel("OrificeChannel Please Use 0", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "Opaque" "Queue" = "Geometry" }
+ Cull Back
+ CGPROGRAM
+ #include "UnityPBSLighting.cginc"
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+ #pragma target 3.0
+ #pragma multi_compile __ _TOONSHADING_ON
+ #pragma surface surf StandardCustomLighting keepalpha noshadow vertex:vertexDataFunc
+
+
+ struct Input
+ {
+ float2 uv_texcoord;
+ float3 worldNormal;
+ INTERNAL_DATA
+ float3 worldPos;
+ };
+
+ struct SurfaceOutputCustomLightingCustom
+ {
+ half3 Albedo;
+ half3 Normal;
+ half3 Emission;
+ half Metallic;
+ half Smoothness;
+ half Occlusion;
+ half Alpha;
+ Input SurfInput;
+ UnityGIInput GIData;
+ };
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float4 _Color;
+ uniform sampler2D _BumpMap;
+ uniform float4 _BumpMap_ST;
+ uniform sampler2D _Emission;
+ uniform float4 _Emission_ST;
+ uniform float _EmissionPower;
+ uniform sampler2D _Metallic;
+ uniform float4 _Metallic_ST;
+ uniform float _Smoothness;
+ uniform sampler2D _Occlusion;
+ uniform float4 _Occlusion_ST;
+ uniform float _CellShadingSharpness;
+ uniform float _ToonSpecularSize;
+ uniform float _ToonSpecularIntensity;
+
+ #define RALIV_PENETRATOR;
+
+ #include "../Plugins/RalivDPS_Defines.cginc"
+ #include "../Plugins/RalivDPS_Functions.cginc"
+
+
+ void vertexDataFunc( inout appdata_full v, out Input o )
+ {
+ UNITY_INITIALIZE_OUTPUT( Input, o );
+ PenetratorReshape(v.vertex, v.normal);
+ /*float orificeType = 0;
+ float3 orificePositionTracker = float3(0,0,100);
+ float3 orificeNormalTracker = float3(0,0,99);
+ float3 penetratorPositionTracker = float3(0,0,1);
+ float pl=0;
+ GetBestLights(_OrificeChannel, orificeType, orificePositionTracker, orificeNormalTracker, penetratorPositionTracker, pl);
+ float3 orificeNormal = normalize( lerp( ( orificePositionTracker - orificeNormalTracker ) , orificePositionTracker , max( _EntranceStiffness , 0.01 )) );
+ float3 PhysicsNormal = normalize(penetratorPositionTracker.xyz) * _Length * 0.3;
+ float wriggleTime = _Time.y * _WriggleSpeed;
+ float temp_output_257_0 = ( _Length * ( ( cos( wriggleTime ) * _Wriggle ) + _Curvature ) );
+ float wiggleTime = _Time.y * ( _WriggleSpeed * 0.39 );
+ float distanceToOrifice = length( orificePositionTracker );
+ float enterFactor = smoothstep( ( _Length + -0.05 ) , _Length , distanceToOrifice);
+ float3 finalOrificeNormal = normalize( lerp( orificeNormal , ( PhysicsNormal + ( ( float3(0,1,0) * ( temp_output_257_0 + ( _Length * ( _ReCurvature + ( ( sin( wriggleTime ) * 0.3 ) * _Wriggle ) ) * 2.0 ) ) ) + ( float3(0.5,0,0) * ( cos( wiggleTime ) * _Wriggle ) ) ) ) , enterFactor) );
+ float smoothstepResult186 = smoothstep( _Length , ( _Length + 0.05 ) , distanceToOrifice);
+ float3 finalOrificePosition = lerp( orificePositionTracker , ( ( normalize(penetratorPositionTracker) * _Length ) + ( float3(0,0.2,0) * ( sin( ( wriggleTime + UNITY_PI ) ) * _Wriggle ) * _Length ) + ( float3(0.2,0,0) * _Length * ( sin( ( wiggleTime + UNITY_PI ) ) * _Wriggle ) ) ) , smoothstepResult186);
+ float finalOrificeDistance = length( finalOrificePosition );
+ float3 bezierBasePosition = float3(0,0,0);
+ float temp_output_59_0 = ( finalOrificeDistance / 3.0 );
+ float3 lerpResult274 = lerp( float3( 0,0,0 ) , ( float3(0,1,0) * ( temp_output_257_0 * -0.2 ) ) , saturate( ( distanceToOrifice / _Length ) ));
+ float3 temp_output_267_0 = ( ( temp_output_59_0 * float3(0,0,1) ) + lerpResult274 );
+ float3 bezierBaseNormal = temp_output_267_0;
+ float3 temp_output_63_0 = ( finalOrificePosition - ( temp_output_59_0 * finalOrificeNormal ) );
+ float3 bezierOrificeNormal = temp_output_63_0;
+ float3 bezierOrificePosition = finalOrificePosition;
+ float vertexBaseTipPosition = ( v.vertex.z / finalOrificeDistance );
+ float t = saturate(vertexBaseTipPosition);
+ float oneMinusT = 1 - t;
+ float3 bezierPoint = oneMinusT * oneMinusT * oneMinusT * bezierBasePosition + 3 * oneMinusT * oneMinusT * t * bezierBaseNormal + 3 * oneMinusT * t * t * bezierOrificeNormal + t * t * t * bezierOrificePosition;
+ float3 straightLine = (float3(0.0 , 0.0 , v.vertex.z));
+ float baseFactor = smoothstep( 0.05 , -0.05 , v.vertex.z);
+ bezierPoint = lerp( bezierPoint , straightLine , baseFactor);
+ bezierPoint = lerp( ( ( finalOrificeNormal * ( v.vertex.z - finalOrificeDistance ) ) + finalOrificePosition ) , bezierPoint , step( vertexBaseTipPosition , 1.0 ));
+ float3 bezierDerivitive = 3 * oneMinusT * oneMinusT * (bezierBaseNormal - bezierBasePosition) + 6 * oneMinusT * t * (bezierOrificeNormal - bezierBaseNormal) + 3 * t * t * (bezierOrificePosition - bezierOrificeNormal);
+ bezierDerivitive = normalize( lerp( bezierDerivitive , float3(0,0,1) , baseFactor) );
+ float bezierUpness = dot( bezierDerivitive , float3( 0,1,0 ) );
+ float3 bezierUp = lerp( float3(0,1,0) , float3( 0,0,-1 ) , saturate( bezierUpness ));
+ float bezierDownness = dot( bezierDerivitive , float3( 0,-1,0 ) );
+ bezierUp = normalize( lerp( bezierUp , float3( 0,0,1 ) , saturate( bezierDownness )) );
+ float3 bezierSpaceX = normalize( cross( bezierDerivitive , bezierUp ) );
+ float3 bezierSpaceY = normalize( cross( bezierDerivitive , -bezierSpaceX ) );
+ float3 bezierSpaceVertexOffset = ( ( v.vertex.y * bezierSpaceY ) + ( v.vertex.x * -bezierSpaceX ) );
+ float3 bezierSpaceVertexOffsetNormal = normalize( bezierSpaceVertexOffset );
+ float distanceFromTip = ( finalOrificeDistance - v.vertex.z );
+ float squeezeFactor = smoothstep( 0.0 , _SqueezeDist , -distanceFromTip);
+ squeezeFactor = max( squeezeFactor , smoothstep( 0.0 , _SqueezeDist , distanceFromTip));
+ float3 bezierSpaceVertexOffsetSqueezed = lerp( ( bezierSpaceVertexOffsetNormal * min( length( bezierSpaceVertexOffset ) , _squeeze ) ) , bezierSpaceVertexOffset , squeezeFactor);
+ float bulgeFactor = smoothstep( 0.0 , _BulgeOffset , abs( ( finalOrificeDistance - v.vertex.z ) ));
+ float bulgeFactorBaseClip = smoothstep( 0.0 , 0.05 , v.vertex.z);
+ float bezierSpaceVertexOffsetBulged = lerp( 1.0 , ( 1.0 + _BulgePower ) , ( ( 1.0 - bulgeFactor ) * 100.0 * bulgeFactorBaseClip ));
+ float3 bezierSpaceVertexOffsetFinal = lerp( ( bezierSpaceVertexOffsetSqueezed * bezierSpaceVertexOffsetBulged ) , bezierSpaceVertexOffset , enterFactor);
+ float3 bezierConstructedVertex = ( bezierPoint + bezierSpaceVertexOffsetFinal );
+ float3 sphereifyDistance = ( bezierConstructedVertex - finalOrificePosition );
+ float3 sphereifyNormal = normalize( sphereifyDistance );
+ float sphereifyFactor = smoothstep( 0.05 , -0.05 , distanceFromTip);
+ float killSphereifyForRing = lerp( sphereifyFactor , 0.0 , orificeType);
+ bezierConstructedVertex = lerp( bezierConstructedVertex , ( ( min( length( sphereifyDistance ) , _squeeze ) * sphereifyNormal ) + finalOrificePosition ) , killSphereifyForRing);
+ float3 ase_worldPos = mul( unity_ObjectToWorld, v.vertex );
+ float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
+ bezierConstructedVertex = lerp( bezierConstructedVertex , ( -ase_worldViewDir * float3( 10000,10000,10000 ) ) , _WorldSpaceLightPos0.w);
+ */
+ //v.normal = normalize( ( ( -bezierSpaceX * v.normal.x ) + ( bezierSpaceY * v.normal.y ) + ( bezierDerivitive * v.normal.z ) ) );
+ //v.vertex.xyz = bezierConstructedVertex;
+ //v.vertex.w = 1;
+ }
+
+ inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi )
+ {
+ UnityGIInput data = s.GIData;
+ Input i = s.SurfInput;
+ half4 c = 0;
+ SurfaceOutputStandard s393 = (SurfaceOutputStandard ) 0;
+ float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float4 tex2DNode145 = tex2D( _MainTex, uv_MainTex );
+ float4 temp_output_146_0 = ( tex2DNode145 * _Color );
+ s393.Albedo = temp_output_146_0.rgb;
+ float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
+ float3 tex2DNode147 = UnpackNormal( tex2D( _BumpMap, uv_BumpMap ) );
+ s393.Normal = WorldNormalVector( i , tex2DNode147 );
+ float2 uv_Emission = i.uv_texcoord * _Emission_ST.xy + _Emission_ST.zw;
+ float4 tex2DNode283 = tex2D( _Emission, uv_Emission );
+ s393.Emission = ( tex2DNode283 * _EmissionPower ).rgb;
+ float2 uv_Metallic = i.uv_texcoord * _Metallic_ST.xy + _Metallic_ST.zw;
+ float4 tex2DNode148 = tex2D( _Metallic, uv_Metallic );
+ s393.Metallic = tex2DNode148.r;
+ s393.Smoothness = ( tex2DNode148.a * _Smoothness );
+ float2 uv_Occlusion = i.uv_texcoord * _Occlusion_ST.xy + _Occlusion_ST.zw;
+ s393.Occlusion = tex2D( _Occlusion, uv_Occlusion ).r;
+
+ data.light = gi.light;
+
+ UnityGI gi393 = gi;
+ #ifdef UNITY_PASS_FORWARDBASE
+ Unity_GlossyEnvironmentData g393 = UnityGlossyEnvironmentSetup( s393.Smoothness, data.worldViewDir, s393.Normal, float3(0,0,0));
+ gi393 = UnityGlobalIllumination( data, s393.Occlusion, s393.Normal, g393 );
+ #endif
+
+ float3 surfResult393 = LightingStandard ( s393, viewDir, gi393 ).rgb;
+ surfResult393 += s393.Emission;
+
+ #ifdef UNITY_PASS_FORWARDADD//393
+ surfResult393 -= s393.Emission;
+ #endif//393
+ #if defined(LIGHTMAP_ON) && ( UNITY_VERSION < 560 || ( defined(LIGHTMAP_SHADOW_MIXING) && !defined(SHADOWS_SHADOWMASK) && defined(SHADOWS_SCREEN) ) )//aselc
+ float4 ase_lightColor = 0;
+ #else //aselc
+ float4 ase_lightColor = _LightColor0;
+ #endif //aselc
+ float3 newWorldNormal396 = (WorldNormalVector( i , tex2DNode147 ));
+ float3 ase_worldPos = i.worldPos;
+ #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld
+ float3 ase_worldlightDir = 0;
+ #else //aseld
+ float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) );
+ #endif //aseld
+ float dotResult5_g1 = dot( newWorldNormal396 , ase_worldlightDir );
+ float temp_output_402_0 = ( _CellShadingSharpness * 10.0 );
+ UnityGI gi411 = gi;
+ float3 diffNorm411 = WorldNormalVector( i , tex2DNode147 );
+ gi411 = UnityGI_Base( data, 1, diffNorm411 );
+ float3 indirectDiffuse411 = gi411.indirect.diffuse + diffNorm411 * 0.0001;
+ float temp_output_470_0 = ( 1.0 - _ToonSpecularSize );
+ float temp_output_457_0 = ( temp_output_470_0 * temp_output_470_0 );
+ float3 normalizeResult446 = normalize( reflect( -ase_worldlightDir , newWorldNormal396 ) );
+ float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
+ float dotResult418 = dot( normalizeResult446 , ase_worldViewDir );
+ float saferPower437 = max( dotResult418 , 0.0001 );
+ float temp_output_437_0 = pow( saferPower437 , 20.0 );
+ float smoothstepResult449 = smoothstep( temp_output_457_0 , ( temp_output_457_0 + ( ( 1.1 - temp_output_457_0 ) * 0.5 ) ) , temp_output_437_0);
+ #ifdef _TOONSHADING_ON
+ float4 staticSwitch436 = ( ( ase_lightColor * max( saturate( (-temp_output_402_0 + ((dotResult5_g1*0.5 + 0.5) - 0.0) * (( temp_output_402_0 + 1.0 ) - -temp_output_402_0) / (1.0 - 0.0)) ) , 0.1 ) * temp_output_146_0 ) + ( float4( indirectDiffuse411 , 0.0 ) * temp_output_146_0 ) + ( ase_lightColor * saturate( smoothstepResult449 ) * _ToonSpecularIntensity ) );
+ #else
+ float4 staticSwitch436 = float4( surfResult393 , 0.0 );
+ #endif
+ c.rgb = staticSwitch436.rgb;
+ c.a = 1;
+ return c;
+ }
+
+ inline void LightingStandardCustomLighting_GI( inout SurfaceOutputCustomLightingCustom s, UnityGIInput data, inout UnityGI gi )
+ {
+ s.GIData = data;
+ }
+
+ void surf( Input i , inout SurfaceOutputCustomLightingCustom o )
+ {
+ o.SurfInput = i;
+ o.Normal = float3(0,0,1);
+ float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float4 tex2DNode145 = tex2D( _MainTex, uv_MainTex );
+ float4 temp_output_146_0 = ( tex2DNode145 * _Color );
+ o.Albedo = temp_output_146_0.rgb;
+ }
+
+ ENDCG
+ }
+}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader.meta
new file mode 100644
index 00000000..d8d2d1d2
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Penetrator.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7963c6f0f8df61643b628fa902468c5f
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset
new file mode 100644
index 00000000..69c4df01
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset
@@ -0,0 +1,58 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 78b2425a2284af743826c689403a4924, type: 3}
+ m_Name: PenetratorAlign
+ m_EditorClassIdentifier:
+ m_functionInfo: "// Made with Amplify Shader Editor\n// Available at the Unity Asset
+ Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=18900\n26;24;1211;969;1067.626;487.6716;1.3;True;False\nNode;AmplifyShaderEditor.CustomExpressionNode;1;-469.354,-22.32887;Inherit;False;float
+ ID = step( 0.5 , _OrificeChannel )@$float OrificeType = 0.0@$float baseID = (
+ ID * 0.02 )@$float holeID = ( baseID + 0.01 )@$float ringID = ( baseID + 0.02
+ )@$float normalID = ( 0.05 + ( ID * 0.01 ) )@$float physicsID = ( 0.09 + ( ID
+ * -0.01 ) )@$float4 OrificePositionWorld = float4(0,-1000,0,1)@$float4 orificeNormalWorld
+ = float4(0,-1000,0,1)@$float4 physicsPositionWorld = float4(0,-10000,0,1)@$$for
+ (int i=0@i<4@i++) {$\tfloat range = (0.005 * sqrt(1000000 - unity_4LightAtten0[i]))
+ / sqrt(unity_4LightAtten0[i])@$\tif (length(unity_LightColor[i].rgb) < 0.0001)
+ {$\t\tif (abs(fmod(range,0.1)-holeID)<0.005) {$\t\t\tOrificeType=0@$\t\t\tOrificePositionWorld
+ = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1)@$\t\t}$\t\tif
+ (abs(fmod(range,0.1)-ringID)<0.005) {$\t\t\tOrificeType=1@$\t\t\tOrificePositionWorld
+ = float4(unity_4LightPosX0[i], unity_4LightPosY0[i], unity_4LightPosZ0[i], 1)@$\t\t}$\t\tif
+ (abs(fmod(range,0.1)-normalID)<0.005) {$\t\t\torificeNormalWorld = float4(unity_4LightPosX0[i],
+ unity_4LightPosY0[i], unity_4LightPosZ0[i], 1)@$\t\t}$\t\tif (abs(fmod(range,0.1)-physicsID)<0.005)
+ {$\t\t\tphysicsPositionWorld = float4(unity_4LightPosX0[i], unity_4LightPosY0[i],
+ unity_4LightPosZ0[i], 1)@$\t\t}$\t}$}$$float3 orificePositionObject = mul( unity_WorldToObject,
+ OrificePositionWorld ).xyz@$float3 orificeNormalObject = mul( unity_WorldToObject,
+ orificeNormalWorld ).xyz@$float3 physicsPositionObject = mul( unity_WorldToObject,
+ physicsPositionWorld ).xyz@$;1;False;4;True;In0;FLOAT;0;In;;Inherit;False;True;OrificePositionTracker;FLOAT3;0,0,0;Out;;Inherit;False;True;OrificeNormalTracker;FLOAT3;0,0,0;Out;;Inherit;False;True;PenetratorPhysicsTracker;FLOAT3;0,0,0;Out;;Inherit;False;GetAlignmentTracking;True;False;0;4;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;FLOAT3;2;FLOAT3;3;FLOAT3;4\nNode;AmplifyShaderEditor.FunctionOutput;0;-55.37553,-58.01243;Inherit;False;True;-1;OrificePositionTracker;2;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionOutput;2;-54.94688,25.34636;Inherit;False;False;-1;OrificeNormalTracker;0;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionOutput;3;-53.62843,108.4097;Inherit;False;False;-1;PenetratorPhysicsTracker;1;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nWireConnection;0;0;1;2\nWireConnection;2;0;1;3\nWireConnection;3;0;1;4\nASEEND*/\n//CHKSM=A214DAB650670C5EE1D346F4F0F34E3473BFCC4D"
+ m_functionName:
+ m_description:
+ m_additionalIncludes:
+ m_additionalIncludes: []
+ m_outsideIncludes: []
+ m_additionalPragmas:
+ m_additionalPragmas: []
+ m_outsidePragmas: []
+ m_additionalDirectives:
+ m_validData: 0
+ m_isDirty: 0
+ m_moduleName: ' Additional Directives'
+ m_independentModule: 1
+ m_customEdited: 0
+ m_additionalDirectives: []
+ m_shaderFunctionDirectives: []
+ m_nativeDirectives: []
+ m_nativeDirectivesIndex: -1
+ m_nativeDirectivesFoldout: 0
+ m_directivesSaveItems: []
+ m_nodeCategory: 3
+ m_customNodeCategory:
+ m_previewPosition: 0
+ m_hidden: 0
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset.meta
new file mode 100644
index 00000000..b7f5ef1d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorAlign.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1aa3e337e003c8d45925d2a40b094223
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs
new file mode 100644
index 00000000..ad7de4b3
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs
@@ -0,0 +1,356 @@
+#if UNITY_EDITOR
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+namespace RalivDynamicPenetrationSystem {
+
+ public class PenetratorSetup : ScriptableWizard {
+
+ public GameObject penetratorPrefab;
+ public GameObject penetratorModel;
+ public Vector3 penetratorBase;
+ public Vector3 penetratorTip;
+ public Material processingMaterial;
+ private Material penetratorMaterial;
+ private Material cachedMaterial;
+ private GameObject newPenetrator;
+ private GameObject originalPenetratorModel;
+ private float cachedCurvature;
+ private float cachedRecurvature;
+ private float length;
+ private float cachedLength;
+ bool dots;
+ bool done;
+ private bool hasMovedDot;
+ private Light trackerLight;
+
+ [MenuItem("Tools/Raliv/Create Penetrator")]
+ static void Setup() {
+ DisplayWizard<PenetratorSetup>("Create Penetrator", "Go", "Cancel");
+ }
+
+ void OnEnable() {
+ SceneView.duringSceneGui += OnSceneGUI;
+ }
+
+ void OnDisable() {
+ SceneView.duringSceneGui -= OnSceneGUI;
+ }
+
+ void OnSceneGUI(SceneView sceneView) {
+ if (dots) {
+ Tools.current = Tool.View;
+ EditorGUI.BeginChangeCheck();
+ Quaternion handleRotation = Quaternion.identity;
+ if (penetratorModel.transform.parent!=null) handleRotation = penetratorModel.transform.parent.rotation;
+ Vector3 newPenetratorBase = Handles.PositionHandle(penetratorModel.transform.TransformPoint(penetratorBase), handleRotation);
+ Vector3 newPenetratorTip = Handles.PositionHandle(penetratorModel.transform.TransformPoint(penetratorTip), handleRotation);
+ if (EditorGUI.EndChangeCheck()) {
+ Undo.RecordObject(this, "Changed Penetrator Base");
+ penetratorBase = penetratorModel.transform.InverseTransformPoint(newPenetratorBase);
+ penetratorTip = penetratorModel.transform.InverseTransformPoint(newPenetratorTip);
+ hasMovedDot = true;
+ }
+ GUIStyle style = new GUIStyle();
+ style.normal.textColor=Color.white;
+ Handles.color=Color.white;
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorBase), penetratorModel.transform.right, 0.01f);
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorBase), penetratorModel.transform.up, 0.01f);
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorBase), penetratorModel.transform.forward, 0.01f);
+ Handles.Label(penetratorModel.transform.TransformPoint(penetratorBase), "BASE");
+ Handles.color=Color.blue;
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorTip), penetratorModel.transform.right, 0.01f);
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorTip), penetratorModel.transform.up, 0.01f);
+ Handles.DrawSolidDisc(penetratorModel.transform.TransformPoint(penetratorTip), penetratorModel.transform.forward, 0.01f);
+ Handles.Label(penetratorModel.transform.TransformPoint(penetratorTip), "TIP");
+ }
+ }
+
+ void OnGUI() {
+ // REQUIRE MODEL
+ if (penetratorModel==null) {
+ ReadPenetratorModel();
+ if (penetratorModel != null) {
+ penetratorBase=Vector3.zero;
+ penetratorTip = Quaternion.Inverse(penetratorModel.transform.localRotation) * Vector3.forward * 0.3f * (1f/penetratorModel.transform.lossyScale.x);
+ }
+ return;
+ }
+ // VALIDATE MODEL HAS MESH
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()==null && penetratorModel.GetComponent<MeshRenderer>()==null) {
+ ReadPenetratorModel();
+ EditorGUILayout.HelpBox("You must choose a model with a MeshFilter or SkinnedMeshRenderer!", MessageType.Error);
+ EditorGUILayout.HelpBox("This error typically happens when you have added an object with your mesh in it's hierarchy, rather than the mesh object itself. Look through the hierarchy of your model for an object with a Mesh Filter or Skinned Mesh Renderer component.", MessageType.Info);
+ return;
+ }
+ // VALIDATE WE HAVE CACHED MATERIAL
+ if (cachedMaterial == null) {
+ // VALIDATE MODEL HAS A MATERIAL
+ if (penetratorMaterial == null) {
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null)
+ penetratorMaterial = penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMaterial;
+ if (penetratorModel.GetComponent<MeshRenderer>()!=null)
+ penetratorMaterial = penetratorModel.GetComponent<MeshRenderer>().sharedMaterial;
+ if (penetratorMaterial == null) {
+ EditorGUILayout.HelpBox("Material not detected..", MessageType.Error);
+ return;
+ }
+ }
+ // VALIDATE MODEL HAS PENETRATOR MATERIAL
+ if (!penetratorMaterial.HasProperty("_Length")) {
+ EditorGUILayout.HelpBox("Your penetrator model must have a material with a penetrator shader selected!", MessageType.Error);
+ EditorGUILayout.HelpBox("Change the shader your penetrator uses to a penetrator shader. Try Raliv > Penetrator.", MessageType.Info);
+ return;
+ }
+ cachedMaterial = penetratorMaterial;
+ //penetratorMaterial=(Material)Instantiate(penetratorMaterialDefault);
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null)
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMaterial = processingMaterial;
+ if (penetratorModel.GetComponent<MeshRenderer>()!=null)
+ penetratorModel.GetComponent<MeshRenderer>().sharedMaterial = processingMaterial;
+ }
+ // MODEL ALIGNMENT
+ dots = true;
+ GUIStyle textStyle = EditorStyles.label;
+ textStyle.wordWrap = true;
+ EditorGUILayout.LabelField("Move the white position dot onto the center of the base of the penetrator, everything in front of the dot will deform.", textStyle);
+ EditorGUILayout.LabelField("Move the blue dot to the center of the tip of the penetrator", textStyle);
+ if (!hasMovedDot) {
+ GUI.color = new Color(1, 1, 1, 0.2f);
+ if (GUILayout.Button("Generate Custom Model!")) { }
+ return;
+ }
+ if (GUILayout.Button("Generate Custom Model!")) {
+ PreparePenetrator();
+ int error = SetupPenetratorModel();
+ if (error > 0) {
+ switch (error) {
+ case 1:
+ EditorGUILayout.HelpBox("Something went wrong!", MessageType.Error);
+ break;
+ }
+ } else {
+ penetratorModel.GetComponent<MeshRenderer>().sharedMaterial=penetratorMaterial;
+ penetratorMaterial.SetFloat("_Curvature", cachedCurvature);
+ penetratorMaterial.SetFloat("_ReCurvature", cachedRecurvature);
+ penetratorMaterial.SetFloat("_EntranceStiffness", 0.01f);
+ newPenetrator.transform.position=penetratorModel.transform.TransformPoint(penetratorBase);
+ newPenetrator.transform.rotation=Quaternion.LookRotation(penetratorModel.transform.TransformPoint(penetratorTip)-penetratorModel.transform.TransformPoint(penetratorBase), Vector3.up);
+ penetratorModel.transform.parent = newPenetrator.transform;
+ penetratorModel.transform.localPosition=Vector3.zero;
+ penetratorModel.transform.localRotation=Quaternion.identity;
+ EditorGUILayout.Space();
+ EditorGUILayout.HelpBox("Done!", MessageType.Info);
+ FinalizePenetrator();
+ done=true;
+ Close();
+ }
+ }
+ GUI.color = new Color(1,1,1,0.2f);
+ if (GUILayout.Button("Skip Penetrator Validation")) {
+ PreparePenetrator();
+ FinalizePenetrator();
+ }
+ GUI.color = new Color(1,1,1,1f);
+ EditorGUILayout.HelpBox("If your model has been exported from blender in full compliance with the dynamic penetration system, you can click the Skip Penetrator Validation button.", MessageType.Info);
+ }
+
+ private void ReadPenetratorModel() {
+ penetratorModel = (GameObject)EditorGUILayout.ObjectField("My Model", penetratorModel, typeof(GameObject), true);
+ GUIStyle textStyle = EditorStyles.label;
+ textStyle.wordWrap = true;
+ EditorGUILayout.LabelField("Drag custom model into the slot provided",textStyle);
+ }
+
+ void TranslateMesh(Mesh mesh, Vector3 translation) {
+ Vector3[] vertices = mesh.vertices;
+
+ for (int i=0;i<vertices.Length;i++) {
+ vertices[i] += translation;
+ }
+
+ mesh.vertices = vertices;
+ }
+
+ void RotateMesh(Mesh mesh, Quaternion rotation) {
+ Vector3[] vertices = mesh.vertices;
+ Vector3[] normals = mesh.normals;
+ Vector4[] tangents = mesh.tangents;
+ Vector3 tempTangent;
+
+ for (int i=0;i<vertices.Length;i++) {
+ vertices[i] = rotation * vertices[i];
+ normals[i] = rotation * normals[i];
+ tempTangent = new Vector3(tangents[i].x, tangents[i].y, tangents[i].z);
+ tempTangent = rotation * tempTangent;
+ tangents[i] = new Vector4(tempTangent.x, tempTangent.y, tempTangent.z, tangents[i].w);
+ }
+
+ mesh.vertices = vertices;
+ mesh.normals = normals;
+ mesh.tangents = tangents;
+ }
+
+ void ScaleMesh(Mesh mesh, float ScaleFactor) {
+ Vector3[] vertices = mesh.vertices;
+
+ for (int i=0;i<vertices.Length;i++) {
+ vertices[i] *= ScaleFactor;
+ }
+
+ mesh.vertices = vertices;
+ }
+
+ void GetPenetratorLength() {
+ Mesh sharedMesh = null;
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null) {
+ sharedMesh = new Mesh();
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().BakeMesh(sharedMesh);
+ }
+ if (penetratorModel.GetComponent<MeshFilter>()!=null)
+ sharedMesh = penetratorModel.GetComponent<MeshFilter>().sharedMesh;
+ Vector3 farthestVert = Vector3.zero;
+ for (int i=0;i<sharedMesh.vertices.Length;i++) {
+ float dist = sharedMesh.vertices[i].magnitude;
+ if (dist>farthestVert.magnitude) {
+ farthestVert=sharedMesh.vertices[i];
+ }
+ }
+ length = farthestVert.magnitude;
+ }
+
+ private void PreparePenetrator() {
+ originalPenetratorModel = penetratorModel;
+ trackerLight = null;
+ if (penetratorModel.transform.parent != null)
+ trackerLight = penetratorModel.transform.parent.GetComponentInChildren<Light>();
+ if (trackerLight == null || trackerLight.color.maxColorComponent > 0.1f) {
+ newPenetrator = (GameObject) Instantiate(penetratorPrefab, penetratorModel.transform.position, penetratorModel.transform.rotation);
+ newPenetrator.transform.parent = penetratorModel.transform.parent;
+ if (PrefabUtility.IsPartOfAnyPrefab(penetratorModel)) {
+ GameObject newPenetratorModel = GameObject.Instantiate(penetratorModel, penetratorModel.transform.parent);
+ newPenetratorModel.transform.localPosition = penetratorModel.transform.localPosition;
+ newPenetratorModel.transform.localRotation = penetratorModel.transform.localRotation;
+ newPenetratorModel.transform.localScale = penetratorModel.transform.localScale;
+ newPenetratorModel.transform.parent = null;
+ penetratorModel.SetActive(false);
+ penetratorModel = newPenetratorModel;
+ }
+ newPenetrator.name = penetratorPrefab.name + "_" + penetratorModel.name;
+ trackerLight = newPenetrator.GetComponentInChildren<Light>();
+ }
+ }
+
+ int SetupPenetratorModel() {
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null) {
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>().rootBone!=null) {
+ GameObject newPenetratorModel = new GameObject(penetratorModel.name);
+ newPenetratorModel.transform.parent = penetratorModel.transform.parent;
+ newPenetratorModel.transform.localPosition = penetratorModel.transform.localPosition;
+ newPenetratorModel.transform.localRotation = penetratorModel.transform.localRotation;
+ newPenetratorModel.transform.localScale = penetratorModel.transform.localScale;
+ newPenetratorModel.transform.parent = null;
+ newPenetratorModel.AddComponent<MeshFilter>();
+ newPenetratorModel.GetComponent<MeshFilter>().sharedMesh=new Mesh();
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().BakeMesh(newPenetratorModel.GetComponent<MeshFilter>().sharedMesh);
+ newPenetratorModel.AddComponent<MeshRenderer>();
+ newPenetratorModel.GetComponent<MeshFilter>().sharedMesh.RecalculateBounds();
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMaterial = cachedMaterial;
+ penetratorModel.SetActive(false);
+ penetratorModel=newPenetratorModel;
+ EditorUtility.SetDirty(penetratorModel);
+ }
+ }
+ EditorUtility.SetDirty(penetratorModel);
+ cachedCurvature = penetratorMaterial.GetFloat("_Curvature");
+ cachedRecurvature = penetratorMaterial.GetFloat("_ReCurvature");
+ penetratorMaterial.SetFloat("_Curvature", 0f);
+ penetratorMaterial.SetFloat("_ReCurvature", 0f);
+ cachedLength = penetratorMaterial.GetFloat("_Length");
+ penetratorMaterial.SetFloat("_Length", 100f);
+
+ Mesh sharedMesh = null;
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null) {
+ sharedMesh = new Mesh();
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().BakeMesh(sharedMesh);
+ }
+ sharedMesh = penetratorModel.GetComponent<MeshFilter>().sharedMesh;
+ Mesh mesh = (Mesh)Instantiate(sharedMesh);
+
+ TranslateMesh(mesh, -penetratorBase);
+
+ Vector3 farthestVert = Vector3.zero;
+ RotateMesh(mesh, Quaternion.Inverse(Quaternion.LookRotation(penetratorTip - penetratorBase, penetratorModel.transform.InverseTransformDirection(Vector3.up))));
+ ScaleMesh(mesh, penetratorModel.transform.localScale.x);
+ penetratorModel.transform.localScale=Vector3.one;
+
+ for (int i=0;i<mesh.vertices.Length;i++) {
+ float dist = mesh.vertices[i].magnitude;
+ if (dist>farthestVert.magnitude) {
+ farthestVert=mesh.vertices[i];
+ }
+ }
+
+ length = farthestVert.magnitude;
+
+ Bounds bigBounds=mesh.bounds;
+ bigBounds.center=Vector3.zero;
+ bigBounds.extents = new Vector3(length*2f, length*2f, length*2f);
+ mesh.bounds=bigBounds;
+
+ AssetDatabase.CreateAsset(mesh, "Assets/RalivDynamicPenetrationSystem/MyData/"+penetratorModel.name+".asset");
+ AssetDatabase.SaveAssets();
+
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null) {
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMesh = mesh;
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().updateWhenOffscreen=false;
+ bigBounds = penetratorModel.GetComponent<SkinnedMeshRenderer>().localBounds;
+ bigBounds.center=Vector3.zero;
+ bigBounds.extents = new Vector3(length*2f, length*2f, length*2f);
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().localBounds=bigBounds;
+ EditorUtility.SetDirty(penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMesh);
+ }
+ if (penetratorModel.GetComponent<MeshFilter>()!=null) {
+ penetratorModel.GetComponent<MeshFilter>().sharedMesh = mesh;
+ EditorUtility.SetDirty(penetratorModel.GetComponent<MeshFilter>());
+ }
+ return 0;
+ }
+
+ private void FinalizePenetrator() {
+ GetPenetratorLength();
+ penetratorMaterial.SetFloat("_Length", length);
+ trackerLight.intensity=length;
+ done=true;
+ Close();
+ }
+
+ void OnDestroy() {
+ Tools.current = Tool.Move;
+ if (penetratorModel!=null) {
+ if (penetratorMaterial!=null) {
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null) {
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMaterial = penetratorMaterial;
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().receiveShadows=false;
+ }
+ if (penetratorModel.GetComponent<MeshRenderer>()!=null) {
+ penetratorModel.GetComponent<MeshRenderer>().sharedMaterial = penetratorMaterial;
+ penetratorModel.GetComponent<MeshRenderer>().receiveShadows=false;
+ }
+ if (penetratorMaterial.GetFloat("_Length")==100f) penetratorMaterial.SetFloat("_Length", cachedLength);
+ }
+ if (!done && cachedMaterial!=null) {
+ if (penetratorModel.GetComponent<SkinnedMeshRenderer>()!=null)
+ penetratorModel.GetComponent<SkinnedMeshRenderer>().sharedMaterial = cachedMaterial;
+ if (penetratorModel.GetComponent<MeshRenderer>()!=null)
+ penetratorModel.GetComponent<MeshRenderer>().sharedMaterial = cachedMaterial;
+ }
+ }
+ }
+
+ }
+
+}
+#endif
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs.meta
new file mode 100644
index 00000000..c2dba089
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/PenetratorSetup.cs.meta
@@ -0,0 +1,17 @@
+fileFormatVersion: 2
+guid: fe35652de46b69846b9743a3816f16e8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences:
+ - m_ViewDataDictionary: {instanceID: 0}
+ - penetratorPrefab: {fileID: 4389529110882590899, guid: 051e9425f6d1d1b4e910b4d91f883c6c,
+ type: 3}
+ - penetratorModel: {instanceID: 0}
+ - processingMaterial: {fileID: 2100000, guid: 779bbc24c823cf340a2b0e7ebac00900,
+ type: 2}
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat
new file mode 100644
index 00000000..da2a9e3f
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Processing
+ m_Shader: {fileID: 4800000, guid: 30cebc4c205cdf542a4254c8341796e4, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 0
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 7d1e6a77858624f4e8405d355f98e3c0, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ - __dirty: 0
+ m_Colors:
+ - _Color: {r: 0, g: 1, b: 0.932251, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat.meta
new file mode 100644
index 00000000..b516d756
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 779bbc24c823cf340a2b0e7ebac00900
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader
new file mode 100644
index 00000000..d8eb5a25
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader
@@ -0,0 +1,204 @@
+// Made with Amplify Shader Editor
+// Available at the Unity Asset Store - http://u3d.as/y3X
+Shader "Raliv/Processing"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" }
+ Cull Back
+ CGINCLUDE
+ #include "UnityPBSLighting.cginc"
+ #include "UnityCG.cginc"
+ #include "UnityShaderVariables.cginc"
+ #include "Lighting.cginc"
+ #pragma target 3.0
+ struct Input
+ {
+ float3 worldPos;
+ float3 worldNormal;
+ };
+
+ struct SurfaceOutputCustomLightingCustom
+ {
+ half3 Albedo;
+ half3 Normal;
+ half3 Emission;
+ half Metallic;
+ half Smoothness;
+ half Occlusion;
+ half Alpha;
+ Input SurfInput;
+ UnityGIInput GIData;
+ };
+
+ uniform sampler2D _MainTex;
+
+
+ float3 RotateAroundAxis( float3 center, float3 original, float3 u, float angle )
+ {
+ original -= center;
+ float C = cos( angle );
+ float S = sin( angle );
+ float t = 1 - C;
+ float m00 = t * u.x * u.x + C;
+ float m01 = t * u.x * u.y - S * u.z;
+ float m02 = t * u.x * u.z + S * u.y;
+ float m10 = t * u.x * u.y + S * u.z;
+ float m11 = t * u.y * u.y + C;
+ float m12 = t * u.y * u.z - S * u.x;
+ float m20 = t * u.x * u.z - S * u.y;
+ float m21 = t * u.y * u.z + S * u.x;
+ float m22 = t * u.z * u.z + C;
+ float3x3 finalMatrix = float3x3( m00, m01, m02, m10, m11, m12, m20, m21, m22 );
+ return mul( finalMatrix, original ) + center;
+ }
+
+
+ inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi )
+ {
+ UnityGIInput data = s.GIData;
+ Input i = s.SurfInput;
+ half4 c = 0;
+ float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
+ float4 unityObjectToClipPos3 = UnityObjectToClipPos( ase_vertex3Pos );
+ float4 computeScreenPos4 = ComputeScreenPos( unityObjectToClipPos3 );
+ float3 rotatedValue12 = RotateAroundAxis( float3( 0,0,0 ), float3( ( (( computeScreenPos4 / (computeScreenPos4).w )).xy * float2( 10,10 ) ) , 0.0 ), float3( 0,0,1 ), 45.0 );
+ float4 tex2DNode1 = tex2D( _MainTex, rotatedValue12.xy );
+ float3 ase_worldNormal = i.worldNormal;
+ float3 ase_worldPos = i.worldPos;
+ #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld
+ float3 ase_worldlightDir = 0;
+ #else //aseld
+ float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) );
+ #endif //aseld
+ float dotResult5_g1 = dot( ase_worldNormal , ase_worldlightDir );
+ c.rgb = ( tex2DNode1 * (dotResult5_g1*0.5 + 0.5) ).rgb;
+ c.a = 1;
+ return c;
+ }
+
+ inline void LightingStandardCustomLighting_GI( inout SurfaceOutputCustomLightingCustom s, UnityGIInput data, inout UnityGI gi )
+ {
+ s.GIData = data;
+ }
+
+ void surf( Input i , inout SurfaceOutputCustomLightingCustom o )
+ {
+ o.SurfInput = i;
+ float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
+ float4 unityObjectToClipPos3 = UnityObjectToClipPos( ase_vertex3Pos );
+ float4 computeScreenPos4 = ComputeScreenPos( unityObjectToClipPos3 );
+ float3 rotatedValue12 = RotateAroundAxis( float3( 0,0,0 ), float3( ( (( computeScreenPos4 / (computeScreenPos4).w )).xy * float2( 10,10 ) ) , 0.0 ), float3( 0,0,1 ), 45.0 );
+ float4 tex2DNode1 = tex2D( _MainTex, rotatedValue12.xy );
+ o.Emission = tex2DNode1.rgb;
+ }
+
+ ENDCG
+ CGPROGRAM
+ #pragma surface surf StandardCustomLighting keepalpha fullforwardshadows
+
+ ENDCG
+ Pass
+ {
+ Name "ShadowCaster"
+ Tags{ "LightMode" = "ShadowCaster" }
+ ZWrite On
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 3.0
+ #pragma multi_compile_shadowcaster
+ #pragma multi_compile UNITY_PASS_SHADOWCASTER
+ #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
+ #include "HLSLSupport.cginc"
+ #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
+ #define CAN_SKIP_VPOS
+ #endif
+ #include "UnityCG.cginc"
+ #include "Lighting.cginc"
+ #include "UnityPBSLighting.cginc"
+ struct v2f
+ {
+ V2F_SHADOW_CASTER;
+ float3 worldPos : TEXCOORD1;
+ float3 worldNormal : TEXCOORD2;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+ v2f vert( appdata_full v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID( v );
+ UNITY_INITIALIZE_OUTPUT( v2f, o );
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
+ UNITY_TRANSFER_INSTANCE_ID( v, o );
+ float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
+ half3 worldNormal = UnityObjectToWorldNormal( v.normal );
+ o.worldNormal = worldNormal;
+ o.worldPos = worldPos;
+ TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
+ return o;
+ }
+ half4 frag( v2f IN
+ #if !defined( CAN_SKIP_VPOS )
+ , UNITY_VPOS_TYPE vpos : VPOS
+ #endif
+ ) : SV_Target
+ {
+ UNITY_SETUP_INSTANCE_ID( IN );
+ Input surfIN;
+ UNITY_INITIALIZE_OUTPUT( Input, surfIN );
+ float3 worldPos = IN.worldPos;
+ half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
+ surfIN.worldPos = worldPos;
+ surfIN.worldNormal = IN.worldNormal;
+ SurfaceOutputCustomLightingCustom o;
+ UNITY_INITIALIZE_OUTPUT( SurfaceOutputCustomLightingCustom, o )
+ surf( surfIN, o );
+ #if defined( CAN_SKIP_VPOS )
+ float2 vpos = IN.pos;
+ #endif
+ SHADOW_CASTER_FRAGMENT( IN )
+ }
+ ENDCG
+ }
+ }
+ Fallback "Diffuse"
+ CustomEditor "ASEMaterialInspector"
+}
+/*ASEBEGIN
+Version=18707
+33;27;1211;1004;2412.812;1140.545;1.660861;True;False
+Node;AmplifyShaderEditor.PosVertexDataNode;5;-2560.001,-634.7346;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.UnityObjToClipPosHlpNode;3;-2289.969,-634.7347;Inherit;False;1;0;FLOAT3;0,0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ComputeScreenPosHlpNode;4;-2044.049,-637.9496;Inherit;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.ComponentMaskNode;6;-1714.545,-385.5974;Inherit;False;False;False;False;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleDivideOpNode;7;-1491.126,-461.142;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.SwizzleNode;9;-1346.465,-474.0009;Inherit;False;FLOAT2;0;1;2;3;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;8;-1164.836,-475.6081;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;10,10;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RotateAboutAxisNode;12;-910.3022,-665.2658;Inherit;False;False;4;0;FLOAT3;0,0,1;False;1;FLOAT;45;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SamplerNode;1;-522.2464,-454.3602;Inherit;True;Property;_MainTex;MainTex;0;0;Create;True;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.FunctionNode;10;-677.8023,83.01329;Inherit;False;Half Lambert Term;-1;;1;86299dc21373a954aa5772333626c9c1;0;1;3;FLOAT3;0,0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;-307.4708,49.20313;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;CustomLighting;Raliv/Processing;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;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
+WireConnection;3;0;5;0
+WireConnection;4;0;3;0
+WireConnection;6;0;4;0
+WireConnection;7;0;4;0
+WireConnection;7;1;6;0
+WireConnection;9;0;7;0
+WireConnection;8;0;9;0
+WireConnection;12;3;8;0
+WireConnection;1;1;12;0
+WireConnection;11;0;1;0
+WireConnection;11;1;10;0
+WireConnection;0;2;1;0
+WireConnection;0;13;11;0
+ASEEND*/
+//CHKSM=4CB46F1DAA3F16148CE3C8BD88AD73ECA90C55B0 \ No newline at end of file
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader.meta
new file mode 100644
index 00000000..a2dd2eeb
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Processing.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 30cebc4c205cdf542a4254c8341796e4
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab
new file mode 100644
index 00000000..112d87ce
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab
@@ -0,0 +1,71 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1667613833828298927
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1667613833828298924}
+ - component: {fileID: 1667613833828298925}
+ m_Layer: 0
+ m_Name: Tip
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1667613833828298924
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1667613833828298927}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0.01}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!108 &1667613833828298925
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1667613833828298927}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 2
+ m_Color: {r: 0.003921569, g: 0.003921569, b: 0.003921569, a: 1}
+ m_Intensity: 0.354
+ m_Range: 0.49
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 2
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab.meta
new file mode 100644
index 00000000..b3b11185
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/Tip.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 39b904adffea5224d96a03d82ec889cb
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx
new file mode 100644
index 00000000..b848be59
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx.meta
new file mode 100644
index 00000000..be29b2fa
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/bulgertube.fbx.meta
@@ -0,0 +1,106 @@
+fileFormatVersion: 2
+guid: 9a75b216c9c2bf04e97353b6c5fd1cb6
+ModelImporter:
+ serializedVersion: 23
+ fileIDToRecycleName:
+ 100000: Armature
+ 100002: Bone
+ 100004: Bone_end
+ 100006: //RootNode
+ 100008: BulgeTube
+ 400000: Armature
+ 400002: Bone
+ 400004: Bone_end
+ 400006: //RootNode
+ 400008: BulgeTube
+ 2100000: No Name
+ 4300000: BulgeTube
+ 9500000: //RootNode
+ 13700000: BulgeTube
+ 2186277476908879412: ImportLogs
+ externalObjects: {}
+ materials:
+ importMaterials: 1
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ motionNodeName:
+ rigImportErrors:
+ rigImportWarnings:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 1
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations: []
+ isReadable: 1
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ importVisibility: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ optimizeMeshForGPU: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVPackMargin: 4
+ useFileScale: 1
+ previousCalculatedGlobalScale: 1
+ hasPreviousCalculatedGlobalScale: 1
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 0
+ normalSmoothingSource: 0
+ importAnimation: 1
+ copyAvatar: 0
+ humanDescription:
+ serializedVersion: 2
+ human: []
+ skeleton: []
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 0
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ animationType: 2
+ humanoidOversampling: 1
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png
new file mode 100644
index 00000000..9dd9c97d
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png.meta
new file mode 100644
index 00000000..f1921da2
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/orifice.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 576e93837d62023429369f679dc975ea
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 1
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg
new file mode 100644
index 00000000..7e39efe4
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg.meta
new file mode 100644
index 00000000..2c6d7d79
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/processing.jpg.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 7d1e6a77858624f4e8405d355f98e3c0
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg
new file mode 100644
index 00000000..07374fb3
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg
Binary files differ
diff --git a/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg.meta b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg.meta
new file mode 100644
index 00000000..20ff7db5
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/Resources/RalivDynamicPenetrationSystem/Includes/ralivorifice.jpg.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 152b9e0dce5785c4e9f210362d2426cf
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 1
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant: