diff --git a/Deira Manual Gestures.meta b/AAC.meta similarity index 77% rename from Deira Manual Gestures.meta rename to AAC.meta index 8b826cb..83898ea 100644 --- a/Deira Manual Gestures.meta +++ b/AAC.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 427c392dca21e4947ad9dc3872ba0db3 +guid: 978f6069cb1ad854a88aa108b19830e6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Mixer Controls/STEAMEETER.meta b/AAC/AACCore.meta similarity index 77% rename from Mixer Controls/STEAMEETER.meta rename to AAC/AACCore.meta index 551da20..06df36a 100644 --- a/Mixer Controls/STEAMEETER.meta +++ b/AAC/AACCore.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 019d258ba298fd64aa4323294de74515 +guid: da7e8c9875c7937418ca83b4ee80e8bc folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/PresetGenerator/Editor.meta b/AAC/AACCore/Editor.meta similarity index 77% rename from PresetGenerator/Editor.meta rename to AAC/AACCore/Editor.meta index 6449718..d1e6b2d 100644 --- a/PresetGenerator/Editor.meta +++ b/AAC/AACCore/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6b73bb805dd5f4547b50c99d7eb519a0 +guid: 4d93bb3c8aebb5a4980d314c9c09afb7 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AAC/AACCore/Editor/AACCore.cs b/AAC/AACCore/Editor/AACCore.cs new file mode 100644 index 0000000..c1d0b50 --- /dev/null +++ b/AAC/AACCore/Editor/AACCore.cs @@ -0,0 +1,300 @@ +using System.Linq; +using System.Diagnostics; +using AnimatorAsCode.V1; +using gay.lilyy.aaccore; +using nadena.dev.ndmf; +using AnimatorAsCode.V1.ModularAvatar; +using UnityEditor; +using UnityEngine; +using VRC.SDK3.Avatars.Components; +using VRC.SDK3.Dynamics.Constraint.Components; +using System.Collections.Generic; +using gay.lilyy.EditorNotes; + +[assembly: ExportsPlugin(typeof(AACPlugin))] + +namespace gay.lilyy.aaccore +{ + + + + public class AACAssets + { + public AacFlBase aac; + public AacFlController fx; + public AacFlClip emptyClip; + public BuildContext ctx; + public AACRoot root; + public MaAc modularAvatar; + + public bool experimentalEnabled; + public bool isPC; + } + + public static class AACUtils + { + public static GameObject FindChildRecursive(GameObject parent, string name) + { + return FindChildRecursive(parent.transform, name)?.gameObject; + } + public static Transform FindChildRecursive(Transform parent, string name) + { + Transform childTransform = parent.GetComponentsInChildren() + .FirstOrDefault(t => t.gameObject.name == name); + return childTransform; + } + + public static AacFlClip CreateConstraintWeightClip(AACAssets assets, VRCParentConstraint constraint, int index, int indexCount) { + return assets.aac.NewClip() + .Animating(action => { + action.Animates(constraint, $"Sources.source{index}.Weight").WithOneFrame(1f); + for (int i = 0; i < indexCount; i++) { + if (i == index) continue; + action.Animates(constraint, $"Sources.source{i}.Weight").WithOneFrame(0f); + } + }); + } + + public static AacFlClip CreateEmptyClipWithFrames(AACAssets assets, int frames) { + if (frames == 0) return assets.emptyClip; + var emptyGo = new GameObject(); + emptyGo.name = "_EmptyClipInstant"; + emptyGo.transform.SetParent(assets.ctx.AvatarRootTransform); + var clip = assets.aac.NewClip().Animating(action => { + action.Animates(emptyGo.transform, "m_LocalScale.z").WithFrameCountUnit(unit => { + unit.Constant(0, 0); + unit.Constant(frames, 1); + }); + }); + Object.DestroyImmediate(emptyGo); + return clip; + } + + public static AacFlClip CreateEmptyClipWithSeconds(AACAssets assets, float seconds) { + if (seconds == 0) return assets.emptyClip; + var emptyGo = new GameObject(); + emptyGo.name = "_EmptyClipInstant"; + emptyGo.transform.SetParent(assets.ctx.AvatarRootTransform); + var clip = assets.aac.NewClip().Animating(action => { + action.Animates(emptyGo.transform, "m_LocalScale.z").WithFrameCountUnit(unit => { + unit.Constant(0, 0); + unit.Constant(seconds, 1); + }); + }); + Object.DestroyImmediate(emptyGo); + return clip; + } + + public static List FindWithBlendshape(AACAssets assets, string shapeName) { + var list = new List(); + foreach (var smr in assets.ctx.AvatarRootObject.GetComponentsInChildren(true)) { + var mesh = smr.sharedMesh; + if (!mesh) continue; + + int count = mesh.blendShapeCount; + for (int i = 0; i < count; i++) { + if (mesh.GetBlendShapeName(i) == shapeName) { + list.Add(smr); + break; + } + } + } + return list; + } + + public static List FindNamedComponents(Transform parent, string name) where T : Component { + var list = new List(); + foreach (var component in parent.GetComponentsInChildren(true)) { + if (component.gameObject.name == name) { + list.Add(component); + } + } + UnityEngine.Debug.Log($"Found {list.Count} {name} components"); + foreach (var component in list) { + UnityEngine.Debug.Log($"Component: {component.gameObject.name}"); + } + return list; + } + + public static List FindNamedComponents(AACAssets assets, string name) where T : Component { + return FindNamedComponents(assets.ctx.AvatarRootTransform, name); + } + + public static List FindTransformWithNote(Transform parent, string tag) { + var notes = parent.GetComponentsInChildren(true); + var matched = new List(); + foreach (var note in notes) { + if (note.valueType != EditorNote.ValueType.String) continue; + if (note.stringValue != "aactag") continue; + if (note.note == tag) { + matched.Add(note.transform); + } + } + return matched; + } + } + + + public class AACPlugin : Plugin + { + public override string QualifiedName => "gay.lilyy.aaccore.plugin"; + public override string DisplayName => "AACCore"; + + private const string SystemName = "AACCore"; + private const bool UseWriteDefaults = true; + protected override void Configure() + { + InPhase(BuildPhase.PlatformInit).BeforePlugin("nadena.dev.modular-avatar").Run($"Platform Init {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.PlatformInit)); + InPhase(BuildPhase.Resolving).BeforePlugin("nadena.dev.modular-avatar").Run($"Resolving {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Resolving)); + InPhase(BuildPhase.Generating).BeforePlugin("nadena.dev.modular-avatar").Run($"Generating {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Generating)); + InPhase(BuildPhase.Transforming).BeforePlugin("nadena.dev.modular-avatar").Run($"Transforming {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Transforming)); + InPhase(BuildPhase.Optimizing).BeforePlugin("nadena.dev.modular-avatar").Run($"Optimizing {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Optimizing)); + InPhase(BuildPhase.PlatformFinish).BeforePlugin("nadena.dev.modular-avatar").Run($"Platform Finish {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.PlatformFinish)); + } + + private void RunPhase(BuildContext ctx, BuildPhase phase) + { + + var allLayerGroups = LayerGroup.Instances.ToList(); + var layerGroups = allLayerGroups + .Where(lg => lg.SystemName != "template" && lg.buildPhase == phase) + .ToList(); + + // Start overall timer + var overallStopwatch = Stopwatch.StartNew(); + + V5AACLogger.LogInfo("Starting Lillith V5 AAC generation..."); + var root = ctx.AvatarRootObject.GetComponent(); + if (root == null) + { + V5AACLogger.LogInfo("No LillithV5AACRoot component found. Skipping."); + return; + } + + // Skip if the root GameObject or the component itself is disabled + if (!root.enabled || !root.gameObject.activeInHierarchy) + { + V5AACLogger.LogInfo($"LillithV5AACRoot on GameObject '{root.name}' is disabled or inactive. Skipping."); + return; + } + + AACAssets assets = new(); + assets.ctx = ctx; + assets.root = root; + assets.modularAvatar = MaAc.Create(new GameObject(SystemName) + { + transform = { parent = ctx.AvatarRootTransform } + }); + + assets.isPC = EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows + || EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows64; + + + // Time AAC initialization + var initStopwatch = Stopwatch.StartNew(); + V5AACLogger.LogInfo("Initializing Animator As Code..."); + assets.aac = AacV1.Create(new AacConfiguration + { + SystemName = SystemName, + AnimatorRoot = ctx.AvatarRootTransform, + DefaultValueRoot = ctx.AvatarRootTransform, + AssetKey = GUID.Generate().ToString(), + AssetContainer = ctx.AssetContainer, + ContainerMode = AacConfiguration.Container.OnlyWhenPersistenceRequired, + AssetContainerProvider = new NDMFContainerProvider(ctx), + DefaultsProvider = new AacDefaultsProvider(UseWriteDefaults) + }); + assets.emptyClip = assets.aac.NewClip(); + + assets.fx = assets.aac.NewAnimatorController(); + initStopwatch.Stop(); + V5AACLogger.LogInfo($"AAC initialization completed in {initStopwatch.ElapsedMilliseconds}ms"); + + // Process layer groups with individual timing + // Filter out the template LayerGroup (by SystemName) + V5AACLogger.LogInfo($"Processing {layerGroups.Count} layer groups..."); + + var totalLayerGroupTime = 0L; + var processedCount = 0; + var skippedCount = 0; + + if (root.experimentalPlayMode && Application.isPlaying) + { + assets.experimentalEnabled = true; + } + if (root.experimentalUpload && !Application.isPlaying) + { + assets.experimentalEnabled = true; + } + + foreach (var layerGroup in layerGroups) + { + var layerStopwatch = Stopwatch.StartNew(); + + bool skipped = false; + + if (!layerGroup.enabled) + { + V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (disabled)"); + skipped = true; + } + else if (layerGroup.experimental && !assets.experimentalEnabled) + { + V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (Experimental)"); + skipped = true; + } + else if (!layerGroup.IsApplicable(assets)) + { + if (layerGroup.shouldWarnIfNotApplicable) + V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (Not applicable)"); + + skipped = true; + } + + if (!skipped) + { + V5AACLogger.LogInfo($"Running layer group: {layerGroup.DisplayName}"); + layerGroup.Run(assets); + processedCount++; + } + else + { + skippedCount++; + } + + layerStopwatch.Stop(); + totalLayerGroupTime += layerStopwatch.ElapsedMilliseconds; + V5AACLogger.LogInfo($"Layer group '{layerGroup.DisplayName}' completed in {layerStopwatch.ElapsedMilliseconds}ms"); + } + + // Time Modular Avatar setup + var maStopwatch = Stopwatch.StartNew(); + V5AACLogger.LogInfo("Creating Modular Avatar merge animator..."); + + assets.modularAvatar.NewMergeAnimator(assets.fx.AnimatorController, VRCAvatarDescriptor.AnimLayerType.FX); + maStopwatch.Stop(); + V5AACLogger.LogInfo($"Modular Avatar setup completed in {maStopwatch.ElapsedMilliseconds}ms"); + + // Final timing summary + overallStopwatch.Stop(); + V5AACLogger.LogSuccess($"Lillith V5 AAC generation completed successfully!"); + V5AACLogger.LogInfo($"=== TIMING SUMMARY ==="); + V5AACLogger.LogInfo($"Total time: {overallStopwatch.ElapsedMilliseconds}ms ({overallStopwatch.Elapsed.TotalSeconds:F2}s)"); + V5AACLogger.LogInfo($"AAC initialization: {initStopwatch.ElapsedMilliseconds}ms"); + V5AACLogger.LogInfo($"Layer groups: {totalLayerGroupTime}ms (processed: {processedCount}, skipped: {skippedCount})"); + V5AACLogger.LogInfo($"Modular Avatar: {maStopwatch.ElapsedMilliseconds}ms"); + V5AACLogger.LogInfo($"Average per layer group: {(processedCount > 0 ? totalLayerGroupTime / processedCount : 0)}ms"); + } + } + + + + internal class NDMFContainerProvider : IAacAssetContainerProvider + { + private readonly BuildContext _ctx; + public NDMFContainerProvider(BuildContext ctx) => _ctx = ctx; + public void SaveAsPersistenceRequired(Object objectToAdd) => _ctx.AssetSaver.SaveAsset(objectToAdd); + public void SaveAsRegular(Object objectToAdd) { } // Let NDMF crawl our assets when it finishes + public void ClearPreviousAssets() { } // ClearPreviousAssets is never used in non-destructive contexts + } +} \ No newline at end of file diff --git a/PresetGenerator/Editor/PresetGenerator.cs.meta b/AAC/AACCore/Editor/AACCore.cs.meta similarity index 83% rename from PresetGenerator/Editor/PresetGenerator.cs.meta rename to AAC/AACCore/Editor/AACCore.cs.meta index 5e6b864..eacf5da 100644 --- a/PresetGenerator/Editor/PresetGenerator.cs.meta +++ b/AAC/AACCore/Editor/AACCore.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bee19258cf09a8b469dd38850dcb5138 +guid: 130146287c9f763418ba1890a11f5633 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AAC/AACCore/Editor/AACCoreEditor.asmdef b/AAC/AACCore/Editor/AACCoreEditor.asmdef new file mode 100644 index 0000000..0e38024 --- /dev/null +++ b/AAC/AACCore/Editor/AACCoreEditor.asmdef @@ -0,0 +1,27 @@ +{ + "name": "AACCoreEditor", + "rootNamespace": "", + "references": [ + "GUID:165b54f9f25c92d48859a4f1a962cac0", + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:b906909fcc54f634db50f2cad0f988d9", + "GUID:d689052aa981bf8459346a530f6e6678", + "GUID:71d9dcc7d30ab1c45866d01afa59b6cf", + "GUID:62ced99b048af7f4d8dfe4bed8373d76", + "GUID:901e56b065a857d4483a77f8cae73588", + "GUID:04a7e5cf006503242b1db329a84d694d", + "GUID:95124d49b8c897e4286f0bf6c6e57f4d", + "GUID:a65a5779a3702144986d83fca255f5da" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/PresetGenerator/Editor/PresetGenerator.asmdef.meta b/AAC/AACCore/Editor/AACCoreEditor.asmdef.meta similarity index 76% rename from PresetGenerator/Editor/PresetGenerator.asmdef.meta rename to AAC/AACCore/Editor/AACCoreEditor.asmdef.meta index 5017138..bfac82e 100644 --- a/PresetGenerator/Editor/PresetGenerator.asmdef.meta +++ b/AAC/AACCore/Editor/AACCoreEditor.asmdef.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: db37b7b64d44e2442ae3aed7b0759d8f +guid: 8d0a4403a05276c4087dd785a3c7818d AssemblyDefinitionImporter: externalObjects: {} userData: diff --git a/AAC/AACCore/Editor/LayerGroup.cs b/AAC/AACCore/Editor/LayerGroup.cs new file mode 100644 index 0000000..c82d5d9 --- /dev/null +++ b/AAC/AACCore/Editor/LayerGroup.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using nadena.dev.ndmf; + +namespace gay.lilyy.aaccore { + public abstract class LayerGroup + { + public virtual bool enabled { get { return true; } } + public virtual bool experimental { get { return false; } } + private V5AACLayerGroupLogger _logger; + + + protected V5AACLayerGroupLogger Logger => _logger ??= new V5AACLayerGroupLogger(SystemName); + + private static readonly List instances = new(); + + protected LayerGroup() => instances.Add(this); + + public static IEnumerable Instances => instances; + + public virtual bool shouldWarnIfNotApplicable => true; + public virtual BuildPhase buildPhase => BuildPhase.Generating; + + public virtual bool IsApplicable(AACAssets assets) { + return true; + } + public abstract string DisplayName { get; } + public abstract string SystemName { get; } + + public abstract void Run(AACAssets assets); + } +} \ No newline at end of file diff --git a/PresetGenerator/Editor/PresetGeneratorInspector.cs.meta b/AAC/AACCore/Editor/LayerGroup.cs.meta similarity index 83% rename from PresetGenerator/Editor/PresetGeneratorInspector.cs.meta rename to AAC/AACCore/Editor/LayerGroup.cs.meta index 7a6ab7f..dcaac0e 100644 --- a/PresetGenerator/Editor/PresetGeneratorInspector.cs.meta +++ b/AAC/AACCore/Editor/LayerGroup.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 51ac4f0bd9fb2f74e94a980e6acd756f +guid: b62c5c48d33ff344184e9d2af6229e52 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AAC/AACCore/Editor/Logger.cs b/AAC/AACCore/Editor/Logger.cs new file mode 100644 index 0000000..ff05af2 --- /dev/null +++ b/AAC/AACCore/Editor/Logger.cs @@ -0,0 +1,68 @@ +using System.Collections.Generic; +using gay.lilyy.logger; +using UnityEngine; + +namespace gay.lilyy.aaccore { + public class V5AACLogger : BaseLogger + { + private static V5AACLogger _instance; + public static V5AACLogger Instance => _instance ??= new V5AACLogger(); + + protected override string SystemName => "AACCore"; + + protected override Dictionary LogColors => new() + { + { LogLevel.Info, "#87CEEB" }, // Sky Blue + { LogLevel.Warning, "#FFA500" }, // Orange + { LogLevel.Error, "#FF6B6B" }, // Red + { LogLevel.Success, "#90EE90" }, // Light Green + { LogLevel.Debug, "#DDA0DD" } // Plum + }; + + protected override Dictionary LogPrefixes => new() + { + { LogLevel.Info, "ℹ️" }, + { LogLevel.Warning, "⚠️" }, + { LogLevel.Error, "❌" }, + { LogLevel.Success, "✅" }, + { LogLevel.Debug, "🐛" } + }; + + // Static convenience methods for easy access + public static void LogInfo(string message, Object context = null) => Instance.Info(message, context); + public static void LogWarning(string message, Object context = null) => Instance.Warning(message, context); + public static void LogError(string message, Object context = null) => Instance.Error(message, context); + public static void LogSuccess(string message, Object context = null) => Instance.Success(message, context); + public static void LogDebug(string message, Object context = null) => Instance.Debug(message, context); + } + + public class V5AACLayerGroupLogger : BaseLogger + { + private readonly string _layerName; + + public V5AACLayerGroupLogger(string layerName) + { + _layerName = layerName; + } + + protected override string SystemName => $"AACCore [{_layerName}] "; + + protected override Dictionary LogColors => new() + { + { LogLevel.Info, "#87CEEB" }, + { LogLevel.Warning, "#FFA500" }, + { LogLevel.Error, "#FF6B6B" }, + { LogLevel.Success, "#90EE90" }, + { LogLevel.Debug, "#DDA0DD" } + }; + + protected override Dictionary LogPrefixes => new(); + + // Convenience methods for easy access + public void LogInfo(string message, Object context = null) => Info(message, context); + public void LogWarning(string message, Object context = null) => Warning(message, context); + public void LogError(string message, Object context = null) => Error(message, context); + public void LogSuccess(string message, Object context = null) => Success(message, context); + public void LogDebug(string message, Object context = null) => Debug(message, context); + } +} \ No newline at end of file diff --git a/AAC/AACCore/Editor/Logger.cs.meta b/AAC/AACCore/Editor/Logger.cs.meta new file mode 100644 index 0000000..eda7d65 --- /dev/null +++ b/AAC/AACCore/Editor/Logger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4fd8b997bc1c544e83e5ed5014361c4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PresetGenerator/Runtime.meta b/AAC/AACCore/Runtime.meta similarity index 77% rename from PresetGenerator/Runtime.meta rename to AAC/AACCore/Runtime.meta index 1cd03ac..bf94046 100644 --- a/PresetGenerator/Runtime.meta +++ b/AAC/AACCore/Runtime.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1a56a58893574df45b8e4032a47fbc13 +guid: 7613e1079336b844dbd75b28c6cf9050 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef b/AAC/AACCore/Runtime/AACCoreRuntime.asmdef similarity index 80% rename from PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef rename to AAC/AACCore/Runtime/AACCoreRuntime.asmdef index 3d790fd..689e4e9 100644 --- a/PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef +++ b/AAC/AACCore/Runtime/AACCoreRuntime.asmdef @@ -1,8 +1,8 @@ { - "name": "PresetGeneratorRuntime", + "name": "AACCoreRuntime", "rootNamespace": "", "references": [ - "VRC.SDK3A" + "GUID:5718fb738711cd34ea54e9553040911d" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef.meta b/AAC/AACCore/Runtime/AACCoreRuntime.asmdef.meta similarity index 76% rename from PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef.meta rename to AAC/AACCore/Runtime/AACCoreRuntime.asmdef.meta index f8f5b28..faab0c8 100644 --- a/PresetGenerator/Runtime/PresetGeneratorRuntime.asmdef.meta +++ b/AAC/AACCore/Runtime/AACCoreRuntime.asmdef.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d3fbd56666ff1ee4da8101d622364046 +guid: 165b54f9f25c92d48859a4f1a962cac0 AssemblyDefinitionImporter: externalObjects: {} userData: diff --git a/AAC/AACCore/Runtime/AACRoot.cs b/AAC/AACCore/Runtime/AACRoot.cs new file mode 100644 index 0000000..315bc84 --- /dev/null +++ b/AAC/AACCore/Runtime/AACRoot.cs @@ -0,0 +1,50 @@ +using UnityEditor; +using UnityEngine; +using VRC.SDKBase; + +namespace gay.lilyy.aaccore { + /// + /// Adding this to the avatar root will build the FX layer. + /// + public class AACRoot : MonoBehaviour, IEditorOnly { + public bool experimentalPlayMode = true; + public bool experimentalUpload = false; + + // unity needs this to show the enable/disable box + void Start(){} + + #if UNITY_EDITOR + [CustomEditor(typeof(AACRoot))] + private class Editor : UnityEditor.Editor + { + public override void OnInspectorGUI() + { + // Draw the default message + EditorGUILayout.HelpBox( + "Adding this to the avatar root will build the FX layer.", + MessageType.Info + ); + + // Draw the 'Enable Experimental Layers' toggle + var component = (AACRoot)target; + EditorGUI.BeginChangeCheck(); + bool newValPlay = EditorGUILayout.Toggle("Enable Experimental Layers in Play Mode", component.experimentalPlayMode); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(component, "Toggle Experimental Layers in Play Mode"); + component.experimentalPlayMode = newValPlay; + EditorUtility.SetDirty(component); + } + EditorGUI.BeginChangeCheck(); + bool newValUpload = EditorGUILayout.Toggle("Enable Experimental Layers in Uploads", component.experimentalUpload); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(component, "Toggle Experimental Layers in Uploads"); + component.experimentalPlayMode = newValUpload; + EditorUtility.SetDirty(component); + } + } + } + #endif + } +} \ No newline at end of file diff --git a/AAC/AACCore/Runtime/AACRoot.cs.meta b/AAC/AACCore/Runtime/AACRoot.cs.meta new file mode 100644 index 0000000..338a01b --- /dev/null +++ b/AAC/AACCore/Runtime/AACRoot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a0c8f4a9a1d73e4ab34270b10988813 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mixer Controls/HOSCY.meta b/AAC/AACCore/Template.meta similarity index 77% rename from Mixer Controls/HOSCY.meta rename to AAC/AACCore/Template.meta index 6b09615..2834782 100644 --- a/Mixer Controls/HOSCY.meta +++ b/AAC/AACCore/Template.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e93e138efeaf9b6489552636afc5b88b +guid: 02ed31c0bed0fd045b53f2a08b792152 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AAC/AACCore/Template/Template.cs b/AAC/AACCore/Template/Template.cs new file mode 100644 index 0000000..97b111c --- /dev/null +++ b/AAC/AACCore/Template/Template.cs @@ -0,0 +1,23 @@ +using gay.lilyy.aaccore; +using UnityEditor; + +namespace gay.lilyy.avatarname.version.aac { + [InitializeOnLoad] + public class Template : LayerGroup + { + // remove when ready for uploaded + public override bool experimental => true; + private static readonly Template _instance = new(); + + static Template() {} + + public override string DisplayName => "Template"; + + public override string SystemName => "template"; + + public override void Run(AACAssets assets) + { + Logger.LogInfo("LayerGroup Template.Run() Called!"); + } + } +} \ No newline at end of file diff --git a/AAC/AACCore/Template/Template.cs.meta b/AAC/AACCore/Template/Template.cs.meta new file mode 100644 index 0000000..1de8805 --- /dev/null +++ b/AAC/AACCore/Template/Template.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a63a02520572be74b9866f7c32915518 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACCore/Template/TemplateAAC.asmdef b/AAC/AACCore/Template/TemplateAAC.asmdef new file mode 100644 index 0000000..b222ac2 --- /dev/null +++ b/AAC/AACCore/Template/TemplateAAC.asmdef @@ -0,0 +1,25 @@ +{ + "name": "TemplateAAC", + "rootNamespace": "", + "references": [ + "GUID:8d0a4403a05276c4087dd785a3c7818d", + "GUID:95124d49b8c897e4286f0bf6c6e57f4d", + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:b906909fcc54f634db50f2cad0f988d9", + "GUID:d689052aa981bf8459346a530f6e6678", + "GUID:71d9dcc7d30ab1c45866d01afa59b6cf", + "GUID:04a7e5cf006503242b1db329a84d694d", + "GUID:62ced99b048af7f4d8dfe4bed8373d76" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Mixer Controls/STEAMEETER/Voicemeeter.prefab.meta b/AAC/AACCore/Template/TemplateAAC.asmdef.meta similarity index 59% rename from Mixer Controls/STEAMEETER/Voicemeeter.prefab.meta rename to AAC/AACCore/Template/TemplateAAC.asmdef.meta index 9d89a17..e57c546 100644 --- a/Mixer Controls/STEAMEETER/Voicemeeter.prefab.meta +++ b/AAC/AACCore/Template/TemplateAAC.asmdef.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: cfdf6b6b0a6f37f4ebedd37bf0abdd05 -PrefabImporter: +guid: b13df479673c65d4785814fc8079202f +AssemblyDefinitionImporter: externalObjects: {} userData: assetBundleName: diff --git a/Mixer Controls.meta b/AAC/AACShared.meta similarity index 77% rename from Mixer Controls.meta rename to AAC/AACShared.meta index fed4e51..5c6690b 100644 --- a/Mixer Controls.meta +++ b/AAC/AACShared.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7fdf868af7702c44eb56c1e39908220d +guid: 980779dd23e254847be872de3d0796f1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AAC/AACShared/Layers.meta b/AAC/AACShared/Layers.meta new file mode 100644 index 0000000..3e5f45c --- /dev/null +++ b/AAC/AACShared/Layers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fbd24b1ba03c78f4bbb7279612566919 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Layers/AACSharedLayers.asmdef b/AAC/AACShared/Layers/AACSharedLayers.asmdef new file mode 100644 index 0000000..0336442 --- /dev/null +++ b/AAC/AACShared/Layers/AACSharedLayers.asmdef @@ -0,0 +1,27 @@ +{ + "name": "AACSharedLayers", + "rootNamespace": "", + "references": [ + "GUID:8d0a4403a05276c4087dd785a3c7818d", + "GUID:95124d49b8c897e4286f0bf6c6e57f4d", + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:b906909fcc54f634db50f2cad0f988d9", + "GUID:d689052aa981bf8459346a530f6e6678", + "GUID:71d9dcc7d30ab1c45866d01afa59b6cf", + "GUID:04a7e5cf006503242b1db329a84d694d", + "GUID:62ced99b048af7f4d8dfe4bed8373d76", + "GUID:e73da13578f7b4d4fa785d6f8fe72ba3", + "GUID:fc900867c0f47cd49b6e2ae4ef907300" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab.meta b/AAC/AACShared/Layers/AACSharedLayers.asmdef.meta similarity index 59% rename from Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab.meta rename to AAC/AACShared/Layers/AACSharedLayers.asmdef.meta index c278333..c09a1b9 100644 --- a/Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab.meta +++ b/AAC/AACShared/Layers/AACSharedLayers.asmdef.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 5a814aef6bf84b74ebb28f705f84a8ef -PrefabImporter: +guid: 82ac5caf0663be04faa61ac94362fd55 +AssemblyDefinitionImporter: externalObjects: {} userData: assetBundleName: diff --git a/AAC/AACShared/Layers/ChildToggle.cs b/AAC/AACShared/Layers/ChildToggle.cs new file mode 100644 index 0000000..dd83217 --- /dev/null +++ b/AAC/AACShared/Layers/ChildToggle.cs @@ -0,0 +1,217 @@ +using System.Collections.Generic; +using System.Linq; +using AnimatorAsCode.V1; +using gay.lilyy.aaccore; +using gay.lilyy.aacshared.runtimecomponents; +using UnityEditor; +using UnityEngine; +using VRC.SDK3.Avatars.ScriptableObjects; +using AnimatorAsCode.V1.ModularAvatar; +using nadena.dev.modular_avatar.core; + +namespace gay.lilyy.aacshared.layers { + [InitializeOnLoad] + public class ChildToggle : LayerGroup + { + // remove when ready for uploaded + public override bool experimental => false; + public override bool shouldWarnIfNotApplicable => false; + private static readonly ChildToggle _instance = new(); + + static ChildToggle() {} + + public override string DisplayName => "Child Toggle"; + public override string SystemName => "childtoggle"; + + private static ChildToggleDefinition[] getDefinitions(AACAssets assets) + { + return assets.ctx.AvatarRootObject.GetComponentsInChildren(); + } + + public override bool IsApplicable(AACAssets assets) + { + return getDefinitions(assets).Length > 0; + } + + private AacFlBoolParameter createLayer(AACAssets assets, ChildToggleDefinition definition, Transform transform) + { + var layer = assets.fx.NewLayer($"Child toggle {definition.name} {transform.name}"); + var toggle = layer.BoolParameter($"child_{definition.name}_{transform.name}"); + + var idle = layer.NewState("Idle").WithAnimation(assets.emptyClip); + var flipped = layer.NewState("Flipped").WithAnimation(assets.aac.NewClip().Toggling(transform.gameObject, !transform.gameObject.activeSelf)); + + idle.TransitionsTo(flipped).When(toggle.IsEqualTo(true)); + flipped.TransitionsTo(idle).When(toggle.IsEqualTo(false)); + + return toggle; + } + + /** + + im gonna be so honest i got cursor to hack together my MusicPlayer's menu creator into this monstrosity. im so sorry. + + The AACAssets instance. + The ChildToggleDefinition instance. + A dictionary of child transforms and their corresponding toggle parameters. + A shared dictionary of folder paths to GameObjects across all definitions. + */ + private GameObject FindOrCreateFolder(GameObject parent, string folderName, Dictionary sharedFolderHierarchy, string fullPath, Transform definitionTransform, HashSet allRootMenus) + { + // Check if folder already exists in shared hierarchy + if (sharedFolderHierarchy.ContainsKey(fullPath)) + { + var existingFolder = sharedFolderHierarchy[fullPath]; + // Verify it still exists and is accessible + if (existingFolder != null) + { + return existingFolder; + } + else + { + // Remove stale entry + sharedFolderHierarchy.Remove(fullPath); + } + } + + // Check if a folder with the same name already exists as a sibling in current parent + foreach (Transform child in parent.transform) + { + var existingMenuItem = child.GetComponent(); + if (existingMenuItem != null && existingMenuItem.label == folderName) + { + // Found existing folder, add it to shared hierarchy and return it + sharedFolderHierarchy[fullPath] = child.gameObject; + return child.gameObject; + } + } + + // Check all other root menus for a folder with the same name at the same level + // This prevents duplicate folders when multiple definitions share the same MenuPath prefix + foreach (var rootMenu in allRootMenus) + { + if (rootMenu == parent) continue; // Skip current menu + + // If we're at root level (parent is a Menu_*), check root level of other menus + // If we're in a nested folder, check the same nesting level + if (parent.name.StartsWith("Menu_") && rootMenu.name.StartsWith("Menu_")) + { + // Check root level folders + foreach (Transform child in rootMenu.transform) + { + var existingMenuItem = child.GetComponent(); + if (existingMenuItem != null && existingMenuItem.label == folderName) + { + // Found existing folder in another root menu, reuse it + sharedFolderHierarchy[fullPath] = child.gameObject; + return child.gameObject; + } + } + } + } + + // Create new folder + var folderGo = new GameObject($"Folder_{folderName}"); + folderGo.transform.SetParent(parent.transform); + var folderMenuItem = folderGo.AddComponent(); + folderMenuItem.label = folderName; + folderMenuItem.Control.type = VRCExpressionsMenu.Control.ControlType.SubMenu; + folderMenuItem.MenuSource = SubmenuSource.Children; + + sharedFolderHierarchy[fullPath] = folderGo; + return folderGo; + } + + private void CreateMenu(AACAssets assets, ChildToggleDefinition definition, Dictionary childParameters, Dictionary sharedFolderHierarchy, HashSet allRootMenus) + { + if (childParameters.Count == 0) return; + + var menuGo = new GameObject($"Menu_{definition.name}"); + menuGo.transform.SetParent(definition.transform); + var menuItem = menuGo.AddComponent(); + menuItem.label = "Child Toggle"; + menuItem.Control.type = VRCExpressionsMenu.Control.ControlType.SubMenu; + menuItem.MenuSource = SubmenuSource.Children; + + allRootMenus.Add(menuGo); + + GameObject firstFolder = null; + + foreach (var kvp in childParameters) + { + var childTransform = kvp.Key; + var toggleParam = kvp.Value; + GameObject currentParent = menuGo; + + // Create folder hierarchy if MenuPath is specified + if (!string.IsNullOrEmpty(definition.MenuPath)) + { + string[] folderPath = definition.MenuPath.Split('/'); + + // Create nested folder structure + for (int i = 0; i < folderPath.Length; i++) + { + string folderName = folderPath[i]; + string fullPath = string.Join("/", folderPath, 0, i + 1); + + currentParent = FindOrCreateFolder(currentParent, folderName, sharedFolderHierarchy, fullPath, definition.transform, allRootMenus); + + // Store the first folder for MenuInstaller + if (firstFolder == null && i == 0) + { + firstFolder = currentParent; + } + } + } + + // Create the toggle menu item + var go = new GameObject($"Toggle_{childTransform.name}"); + go.transform.SetParent(currentParent.transform); + assets.modularAvatar.EditMenuItem(go).Toggle(toggleParam).Name(childTransform.name); + } + + // Place MenuInstaller on the first folder if it exists, otherwise on root menu + if (firstFolder != null) + { + // Only add MenuInstaller if it doesn't already exist + if (firstFolder.GetComponent() == null) + { + firstFolder.AddComponent(); + } + } + else + { + menuGo.AddComponent(); + } + } + + private void runDefinition(AACAssets assets, ChildToggleDefinition definition, Dictionary sharedFolderHierarchy, HashSet allRootMenus) + { + var childParameters = new Dictionary(); + + foreach (Transform child in definition.transform) + { + var toggleParam = createLayer(assets, definition, child); + childParameters[child] = toggleParam; + } + + CreateMenu(assets, definition, childParameters, sharedFolderHierarchy, allRootMenus); + } + + public override void Run(AACAssets assets) + { + var definitions = getDefinitions(assets); + Logger.LogDebug($"Child Toggle system: Found {definitions.Length} child toggle definitions"); + + // Shared folder hierarchy across all definitions to prevent duplicates + var sharedFolderHierarchy = new Dictionary(); + // Track all root menus to check for duplicate folders + var allRootMenus = new HashSet(); + + foreach (var definition in definitions) + { + runDefinition(assets, definition, sharedFolderHierarchy, allRootMenus); + } + } + } +} \ No newline at end of file diff --git a/AAC/AACShared/Layers/ChildToggle.cs.meta b/AAC/AACShared/Layers/ChildToggle.cs.meta new file mode 100644 index 0000000..557f542 --- /dev/null +++ b/AAC/AACShared/Layers/ChildToggle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c428d7f31c05e0479683c9b1f17a05d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Layers/Floater.cs b/AAC/AACShared/Layers/Floater.cs new file mode 100644 index 0000000..f6d7d69 --- /dev/null +++ b/AAC/AACShared/Layers/Floater.cs @@ -0,0 +1,156 @@ +using System.Collections.Generic; +using System.Linq; +using gay.lilyy.aaccore; +using gay.lilyy.aacshared.runtimecomponents; +using UnityEditor; +using UnityEngine; + +namespace gay.lilyy.aacshared.layers { + [InitializeOnLoad] + public class Floater : LayerGroup + { + // remove when ready for uploaded + public override bool experimental => false; + public override bool shouldWarnIfNotApplicable => false; + private static readonly Floater _instance = new(); + + static Floater() {} + + public override string DisplayName => "Floater"; + public override string SystemName => "floater"; + + private static FloaterDefinition[] getDefinitions(AACAssets assets) + { + return assets.ctx.AvatarRootObject.GetComponentsInChildren(); + } + + public override bool IsApplicable(AACAssets assets) + { + return getDefinitions(assets).Length > 0; + } + + private void createLayer(AACAssets assets, MultiTransformDefinition multiDef) + { + var layer = assets.fx.NewLayer($"Floater {multiDef.Definition.name} and {multiDef.Transforms.Count - 1} more"); + if (!new[] { "x", "y", "z" }.Contains(multiDef.Definition.spinAxis.ToLower())) + { + Logger.LogWarning($"Floater system: Invalid spin axis '{multiDef.Definition.spinAxis}' in definition '{multiDef.Definition.name}'. Must be one of 'x', 'y', or 'z'. Skipping."); + return; + } + + var state = layer.NewState("Floater").WithAnimation(assets.aac.NewClip().Animating(action => + { + Logger.LogInfo($"Floater system: Creating animation for definition '{multiDef.Definition.name}' with {multiDef.Transforms.Count} transforms"); + foreach (var t in multiDef.Transforms) + { + if (multiDef.Definition.floatHeight != 0f) + { + action.Animates(t, "m_LocalPosition.y").WithSecondsUnit(unit => + { + unit + .Easing(0, t.transform.localPosition.y); + unit + .Easing(multiDef.Definition.loopInSeconds / 2f, t.transform.localPosition.y + multiDef.Definition.floatHeight) + .Easing(multiDef.Definition.loopInSeconds, t.transform.localPosition.y); + }); + } + if (multiDef.Definition.spinCycles > 0) + { + string axis = multiDef.Definition.spinAxis.ToLower(); + string prop = $"m_LocalEulerAngles.{axis}"; + float segment = multiDef.Definition.loopInSeconds / multiDef.Definition.spinCycles; + + for (int cycle = 0; cycle < multiDef.Definition.spinCycles; cycle++) + { + action.Animates(t, prop).WithSecondsUnit(unit => + { + float baseAngle = 0f; // ignore quaternion components entirely + float startTime = cycle * segment; + float endTime = (cycle + 1) * segment; + + float startAngle = baseAngle + 360f * cycle; + float endAngle = baseAngle + 360f * (cycle + 1); + + Logger.LogDebug($"Floater system: Animating {t.name} {prop} on cycle {cycle} from {startAngle} to {endAngle} between {startTime}s and {endTime}s"); + unit + .Linear(startTime, startAngle) + .Linear(endTime, endAngle); + + Logger.LogDebug($"unit.Linear({startTime}, {startAngle}).Linear({endTime}, {endAngle})"); + }); + } + + // Fill OTHER Euler axes with constant values + foreach (var other in new[] { "x", "y", "z" }) + { + if (other == axis) continue; + float current = + other == "x" ? t.transform.localEulerAngles.x : + other == "y" ? t.transform.localEulerAngles.y : + t.transform.localEulerAngles.z; + + Logger.LogDebug($"Floater system: Setting constant {t.name} {other} to {current}"); + + action.Animates(t, $"m_LocalEulerAngles.{other}") + .WithSecondsUnit(unit => + { + unit + .Linear(0f, current) + .Linear(multiDef.Definition.loopInSeconds, current); + }); + } + } + + } + }).Looping()); + + if (multiDef.Definition.toggleParamName != "") + { + var param = layer.BoolParameter(multiDef.Definition.toggleParamName); + var offState = layer.NewState("Floater Off").WithAnimation(assets.emptyClip); + layer.WithDefaultState(offState); + + offState.TransitionsTo(state).When(param.IsTrue()); + state.TransitionsTo(offState).When(param.IsFalse()); + } + } + private struct MultiTransformDefinition + { + public List Transforms { get; set; } + public FloaterDefinition Definition { get; set; } + } + + public override void Run(AACAssets assets) + { + var definitions = getDefinitions(assets); + Logger.LogDebug($"Floater system: Found {definitions.Length} floater definitions"); + + var matchedDefinitions = new Dictionary(); + foreach (var def in definitions) + { + if (!def.enabled) continue; + if (!def.enableOnPC && assets.isPC) continue; + if (!def.enableOnMobile && !assets.isPC) continue; + Logger.LogInfo($"Floater system: Found definition '{def.name}'"); + var hash = def.GetHashCode(); + if (!matchedDefinitions.ContainsKey(hash)) + { + matchedDefinitions[hash] = new MultiTransformDefinition + { + Definition = def, + Transforms = new List() + }; + } else + { + Logger.LogInfo($"Floater system: Adding additional transform to definition '{def.name}'"); + } + matchedDefinitions[hash].Transforms.Add(def.transform); + } + + foreach (var multiDef in matchedDefinitions.Values) + { + createLayer(assets, multiDef); + } + } + } +} \ No newline at end of file diff --git a/AAC/AACShared/Layers/Floater.cs.meta b/AAC/AACShared/Layers/Floater.cs.meta new file mode 100644 index 0000000..b035651 --- /dev/null +++ b/AAC/AACShared/Layers/Floater.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c1340bf8df44f24cabe4db762796c21 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Layers/LanternFlicker.cs b/AAC/AACShared/Layers/LanternFlicker.cs new file mode 100644 index 0000000..01f9ff8 --- /dev/null +++ b/AAC/AACShared/Layers/LanternFlicker.cs @@ -0,0 +1,187 @@ +using UnityEditor; +using UnityEngine; +using AnimatorAsCode.V1; +using System.Collections.Generic; +using gay.lilyy.aaccore; + +namespace gay.lilyy.aacshared.layers +{ + /** + + ported from v5 + + */ + [InitializeOnLoad] + public class LanternFlicker : LayerGroup + { + private static readonly LanternFlicker _instance = new(); + + static LanternFlicker() { } + + public override string DisplayName => "Lantern Flicker"; + public override string SystemName => "lantern_flicker"; + public override bool shouldWarnIfNotApplicable => false; + + private Transform GetLantern(AACAssets assets) + { + return AACUtils.FindChildRecursive(assets.ctx.AvatarRootTransform, "Lantern Floater"); + } + + public override bool IsApplicable(AACAssets assets) + { + var lamp = GetLantern(assets); + if (lamp == null) + { + Logger.LogWarning("Lamp Light could not be found!"); + return false; + } + var light = lamp.GetComponentInChildren(); + return light != null; + } + + private void CreateFlickerLayer(AACAssets assets) + { + var lamp = GetLantern(assets); + var light = lamp.GetComponentInChildren(); + + var layer = assets.fx.NewLayer("Lantern Flicker"); + var flickerParam = layer.BoolParameter("LanternFlicker"); + + var off = layer.NewState("Off").WithAnimation( + assets.aac.NewClip().Animating(anim => + { + if (light != null) { + anim.Animates(light, "m_Enabled").WithFrameCountUnit(sec => + { + sec.Constant(0, 0); + }); + anim.Animates(light, "m_Intensity").WithFrameCountUnit(sec => + { + sec.Constant(0, light.intensity); + }); + } + }) + ); + + layer.WithDefaultState(off); + + var on = layer.NewState("Flicker").WithAnimation( + assets.aac.NewClip().Animating(anim => + { + AnimateLantern(assets, anim, lamp); + }).Looping() + ); + + off.TransitionsTo(on).When(flickerParam.IsEqualTo(true)); + on.TransitionsTo(off).When(flickerParam.IsEqualTo(false)); + } + + private void CreateBrightnessLayer(AACAssets assets) + { + var lamp = GetLantern(assets); + var light = lamp.GetComponentInChildren(); + if (light == null) return; + + var layer = assets.fx.NewLayer("Lantern Brightness"); + var brightnessParam = layer.FloatParameter("LanternBrightness"); + + var state = layer.NewState("Brightness").WithAnimation( + assets.aac.NewClip().Animating(anim => + { + anim.Animates(light, "m_Enabled").WithUnit(AacFlUnit.Frames, sec => + { + sec.Linear(0, 0); + sec.Linear(1, 1); + }); + anim.AnimatesColor(light, "m_Color").WithUnit(AacFlUnit.Frames, sec => + { + sec.Linear(0, light.color * 0); + sec.Linear(100, light.color); + }); + }) + ).WithMotionTime(brightnessParam); + } + + private void AnimateLantern(AACAssets assets, AacFlEditClip anim, Transform lantern) + { + var renderer = lantern.GetComponent(); + var light = lantern.GetComponentInChildren(); + if (renderer == null) + { + Logger.LogWarning("AnimateLantern: Missing renderer on lantern"); + return; + } + + + var rng = new System.Random("lillithlanternrandomseed".GetHashCode()); + + var keyframes = new List<(float time, double value)>(); + float time = 0; + while (time < 60) + { + double value = rng.NextDouble(); + keyframes.Add((time, value)); + + time += (float)(rng.NextDouble() * (0.3 - 0.05) + 0.05); + } + + if (keyframes.Count == 0) + { + Logger.LogWarning("AnimateLantern: No keyframes generated"); + } + + if (light != null) + { + anim.Animates(light, "m_Intensity").WithSecondsUnit(sec => + { + foreach (var (t, v) in keyframes) + { + sec.Easing(t, (float)v * light.intensity); + } + }); + } + if (assets.isPC) { + Logger.LogInfo("Using PC material for lantern flicker"); + Color initialColor = renderer.sharedMaterial.GetColor("_Emission_Color"); + // ValueFactory Orbits + var prop = "material._Emission_Color"; + void animateChannel(string suffix, float initial) + { + anim.Animates(renderer, $"{prop}.{suffix}").WithSecondsUnit(sec => + { + foreach (var (t, v) in keyframes) + { + sec.Easing(t, initial * (float)v); + } + }); + } + animateChannel("x", initialColor.r); + animateChannel("y", initialColor.g); + animateChannel("z", initialColor.b); + animateChannel("w", initialColor.a); + } + else + { + // Toon Standard + Logger.LogInfo("Using Non-PC material for lantern flicker"); + + // float initialStrength = renderer.sharedMaterial.GetFloat("_EmissionStrength"); + // this still isnt running before vqt for some cursed reason so im just gonna hardcode this + var initialStrength = 2; + anim.Animates(renderer, "material._EmissionStrength").WithSecondsUnit(sec => + { + foreach (var (t, v) in keyframes) + { + sec.Easing(t, initialStrength * (float)v); + } + }); + } + } + + public override void Run(AACAssets assets) + { + CreateFlickerLayer(assets); + CreateBrightnessLayer(assets); + } + } +} diff --git a/AAC/AACShared/Layers/LanternFlicker.cs.meta b/AAC/AACShared/Layers/LanternFlicker.cs.meta new file mode 100644 index 0000000..9e06aab --- /dev/null +++ b/AAC/AACShared/Layers/LanternFlicker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b23933d2d4383264e8a63812c8580be2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Layers/ParameterPreset.cs b/AAC/AACShared/Layers/ParameterPreset.cs new file mode 100644 index 0000000..3948607 --- /dev/null +++ b/AAC/AACShared/Layers/ParameterPreset.cs @@ -0,0 +1,114 @@ +using System.Collections.Generic; +using AnimatorAsCode.V1; +using AnimatorAsCode.V1.VRC; +using gay.lilyy.aaccore; +using gay.lilyy.aacshared.runtimecomponents; +using UnityEditor; +using UnityEngine; +using VRC.SDK3.Avatars.ScriptableObjects; + +namespace gay.lilyy.aacshared.layers +{ + [InitializeOnLoad] + public class ParameterPreset : LayerGroup + { + private static readonly ParameterPreset _instance = new(); + + static ParameterPreset() { } + + public override string DisplayName => "Parameter Preset"; + public override string SystemName => "parameter_preset"; + public override bool shouldWarnIfNotApplicable => false; + + private static ParameterPresetDefinition[] getDefinitions(AACAssets assets) + { + return assets.ctx.AvatarRootObject.GetComponents(); + } + + public override bool IsApplicable(AACAssets assets) + { + return getDefinitions(assets).Length > 0; + } + + private void RunGroup(AACAssets assets, List presets) + { + if (presets.Count == 0) return; // If there are none in the avatar, skip this entirely. + + var layer = assets.fx.NewLayer("Presets " + presets[0].Group); + var presetParam = layer.IntParameter("Preset " + presets[0].Group); + Dictionary> intParams = new(); + Dictionary> floatParams = new(); + Dictionary> boolParams = new(); + var idle = layer.NewState("Idle").WithAnimation(assets.emptyClip); + layer.WithDefaultState(idle); + + var presetIndex = 0; + foreach (var preset in presets) + { + presetIndex++; + var state = layer.NewState("Preset " + preset.Name) + .WithAnimation(assets.emptyClip); + + foreach (var param in preset.Parameters) + { + if (!param.shouldChange) continue; + switch (param.valueType) + { + case VRCExpressionParameters.ValueType.Int: + { + if (!intParams.ContainsKey(param.name)) + { + intParams[param.name] = layer.IntParameter(param.name); + } + var layerParam = intParams[param.name]; + state.Drives(layerParam, (int)param.setTo); + break; + } + case VRCExpressionParameters.ValueType.Float: + { + if (!floatParams.ContainsKey(param.name)) + { + floatParams[param.name] = layer.FloatParameter(param.name); + } + var layerParam = floatParams[param.name]; + state.Drives(layerParam, param.setTo); + break; + } + case VRCExpressionParameters.ValueType.Bool: + { + if (!boolParams.ContainsKey(param.name)) + { + boolParams[param.name] = layer.BoolParameter(param.name); + } + var layerParam = boolParams[param.name]; + state.Drives(layerParam, param.setTo > 0.5f); + break; + } + } + } + + idle.TransitionsTo(state).When(presetParam.IsEqualTo(presetIndex)); + state.TransitionsTo(idle).When(presetParam.IsEqualTo(0)); + } + } + + + public override void Run(AACAssets assets) + { + var presets = getDefinitions(assets); + Dictionary> groupedPresets = new(); + foreach (var preset in presets) + { + if (!groupedPresets.ContainsKey(preset.Group)) + { + groupedPresets[preset.Group] = new List(); + } + groupedPresets[preset.Group].Add(preset); + } + foreach (var group in groupedPresets) + { + RunGroup(assets, group.Value); + } + } + } +} diff --git a/PresetGenerator/Runtime/ParameterPreset.cs.meta b/AAC/AACShared/Layers/ParameterPreset.cs.meta similarity index 83% rename from PresetGenerator/Runtime/ParameterPreset.cs.meta rename to AAC/AACShared/Layers/ParameterPreset.cs.meta index bf0fb3e..f89fde7 100644 --- a/PresetGenerator/Runtime/ParameterPreset.cs.meta +++ b/AAC/AACShared/Layers/ParameterPreset.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 708f2c2e0c8172048b9c1f1b19705dc6 +guid: 35b03c4eb985a2a489054b0738690d57 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AAC/AACShared/README.md b/AAC/AACShared/README.md new file mode 100644 index 0000000..4db9731 --- /dev/null +++ b/AAC/AACShared/README.md @@ -0,0 +1,9 @@ +# AACShared + +A group of AACCore layers that arent avatar specific + +lillith if u dont make all of these togglable / configurable im going to commit + +im so fr + +also MAKE SURE ALL LAYERS HAVE `public override bool shouldWarnIfNotApplicable => false;` \ No newline at end of file diff --git a/Moderation Toolkit/Invisible/setup.txt.meta b/AAC/AACShared/README.md.meta similarity index 75% rename from Moderation Toolkit/Invisible/setup.txt.meta rename to AAC/AACShared/README.md.meta index 0d2184c..8fcd0af 100644 --- a/Moderation Toolkit/Invisible/setup.txt.meta +++ b/AAC/AACShared/README.md.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5e9e575cd3acc604eaec984aae71757b +guid: 6b5e9937d32bd674fb0909528112acc2 TextScriptImporter: externalObjects: {} userData: diff --git a/AAC/AACShared/Runtime.meta b/AAC/AACShared/Runtime.meta new file mode 100644 index 0000000..e7376d2 --- /dev/null +++ b/AAC/AACShared/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71318e6f58f43d24b911579de721d22b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Runtime/AACSharedRuntime.asmdef b/AAC/AACShared/Runtime/AACSharedRuntime.asmdef new file mode 100644 index 0000000..293967e --- /dev/null +++ b/AAC/AACShared/Runtime/AACSharedRuntime.asmdef @@ -0,0 +1,16 @@ +{ + "name": "AACSharedRuntime", + "rootNamespace": "", + "references": [ + "GUID:3456780c4fb2d324ab9c633d6f1b0ddb" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/AAC/AACShared/Runtime/AACSharedRuntime.asmdef.meta b/AAC/AACShared/Runtime/AACSharedRuntime.asmdef.meta new file mode 100644 index 0000000..8ed2566 --- /dev/null +++ b/AAC/AACShared/Runtime/AACSharedRuntime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e73da13578f7b4d4fa785d6f8fe72ba3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Runtime/ChildToggleDefinition.cs b/AAC/AACShared/Runtime/ChildToggleDefinition.cs new file mode 100644 index 0000000..56be80d --- /dev/null +++ b/AAC/AACShared/Runtime/ChildToggleDefinition.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using VRC.SDKBase; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace gay.lilyy.aacshared.runtimecomponents +{ + public class ChildToggleDefinition : MonoBehaviour, IEditorOnly { + + // unity needs this to show the enable/disable box + void Start(){} + + public string MenuPath = ""; + } + + #if UNITY_EDITOR + [CustomEditor(typeof(ChildToggleDefinition))] + public class ChildToggleDefinitionInspector : Editor + { + public override void OnInspectorGUI() + { + EditorGUILayout.HelpBox( + "Any direct children of this object will have a toggle in the menu", + MessageType.Info + ); + + EditorGUILayout.Space(); + + // Draw the default inspector to show the 'enable' field + DrawDefaultInspector(); + } + } + #endif +} \ No newline at end of file diff --git a/AAC/AACShared/Runtime/ChildToggleDefinition.cs.meta b/AAC/AACShared/Runtime/ChildToggleDefinition.cs.meta new file mode 100644 index 0000000..449dce4 --- /dev/null +++ b/AAC/AACShared/Runtime/ChildToggleDefinition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: be675dd25b2a8854687c05c2ab33af0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AAC/AACShared/Runtime/FloaterDefinition.cs b/AAC/AACShared/Runtime/FloaterDefinition.cs new file mode 100644 index 0000000..3c7978c --- /dev/null +++ b/AAC/AACShared/Runtime/FloaterDefinition.cs @@ -0,0 +1,35 @@ +using System; +using UnityEngine; +using VRC.SDKBase; + +namespace gay.lilyy.aacshared.runtimecomponents +{ + public class FloaterDefinition: MonoBehaviour, IEditorOnly { + + // unity needs this to show the enable/disable box + void Start(){} + public float floatHeight = 0; + [Tooltip("Time in seconds for one full spin cycle")] + public float loopInSeconds = 10f; + [Tooltip("Number of times object spins in one loop")] + public int spinCycles = 2; + [Tooltip("Axis to spin around (x, y, or z)")] + public string spinAxis = "z"; + public bool enableOnPC = true; + [Tooltip("Quest, Pico, Android/iOS Mobile, etc.")] + public bool enableOnMobile = true; + + [Tooltip("If set, this parameter will toggle the floater on/off")] + public string toggleParamName = ""; + + + /** + Compares two FloaterDefinitions for equality based on their properties. + Used for chunking similar floaters into one animation layer + */ + public override int GetHashCode() + { + return HashCode.Combine(floatHeight, loopInSeconds, spinCycles, enableOnPC, enableOnMobile, toggleParamName); + } + } +} \ No newline at end of file diff --git a/AAC/AACShared/Runtime/FloaterDefinition.cs.meta b/AAC/AACShared/Runtime/FloaterDefinition.cs.meta new file mode 100644 index 0000000..f419d53 --- /dev/null +++ b/AAC/AACShared/Runtime/FloaterDefinition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3b3b5f65ee33db24bbb5f0042bec1f87 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PresetGenerator/Editor/PresetGeneratorInspector.cs b/AAC/AACShared/Runtime/ParameterPresetDefinition.cs similarity index 71% rename from PresetGenerator/Editor/PresetGeneratorInspector.cs rename to AAC/AACShared/Runtime/ParameterPresetDefinition.cs index f9ffc3c..35da2f7 100644 --- a/PresetGenerator/Editor/PresetGeneratorInspector.cs +++ b/AAC/AACShared/Runtime/ParameterPresetDefinition.cs @@ -1,28 +1,53 @@ -using UnityEditor; -using UnityEngine; using System.Collections.Generic; -using System.Linq; +using UnityEngine; using VRC.SDK3.Avatars.ScriptableObjects; +using VRC.SDKBase; +#if UNITY_EDITOR +using UnityEditor; +using System.Linq; using VRC.SDK3.Avatars.Components; +#endif -namespace gay.lilyy.PresetGenerator +namespace gay.lilyy.aacshared.runtimecomponents { - [CustomEditor(typeof(ParameterPreset))] - public class ParameterPresetInspector : UnityEditor.Editor + [System.Serializable] + public class PresetParameter { - private ParameterPreset preset; + public string name; + public VRCExpressionParameters.ValueType valueType; + public float setTo; + public bool shouldChange = false; + } + + [AddComponentMenu("LillithRosePup/Parameter Preset")] + public class ParameterPresetDefinition : MonoBehaviour, IEditorOnly + { + public string Name = "New Preset"; + public string Group = "Default"; + [HideInInspector] // custom inspector + public List Parameters; + + // unity needs this to show the enable/disable box + void Start() { } + } + +#if UNITY_EDITOR + [CustomEditor(typeof(ParameterPresetDefinition))] + public class ParameterPresetDefinitionInspector : Editor + { + private ParameterPresetDefinition preset; private bool parametersLoaded = false; private void OnEnable() { - preset = (ParameterPreset)target; + preset = (ParameterPresetDefinition)target; LoadMissingParameters(); } private void LoadMissingParameters() { VRCAvatarDescriptor aviDesc = preset.gameObject.GetComponent(); - if (aviDesc.expressionParameters == null || parametersLoaded) + if (aviDesc == null || aviDesc.expressionParameters == null || parametersLoaded) return; // Initialize Parameters list if it's null @@ -36,13 +61,13 @@ namespace gay.lilyy.PresetGenerator // Create a dictionary of source parameters for quick lookup var sourceParamDict = sourceParameters.ToDictionary(p => p.name, p => p); - + // Create a set of source parameter names var sourceParameterNames = new HashSet(sourceParamDict.Keys); // Remove parameters that exist in preset but not in source bool hasChanges = false; - preset.Parameters.RemoveAll(presetParam => + preset.Parameters.RemoveAll(presetParam => { if (!sourceParameterNames.Contains(presetParam.name)) { @@ -56,7 +81,7 @@ namespace gay.lilyy.PresetGenerator foreach (var sourceParam in sourceParameters) { var existingParam = preset.Parameters.FirstOrDefault(p => p.name == sourceParam.name); - + if (existingParam == null) { // Add new parameter @@ -91,6 +116,23 @@ namespace gay.lilyy.PresetGenerator parametersLoaded = true; } + private int GetPresetIndex() + { + VRCAvatarDescriptor aviDesc = preset.gameObject.GetComponent(); + if (aviDesc == null) + return -1; + + var presets = aviDesc.GetComponentsInChildren().ToList().Where(p => p.Group == preset.Group).ToList(); + for (int i = 0; i < presets.Count; i++) + { + if (presets[i] == preset) + { + return i + 1; // 1-based index matching ParameterPreset.cs + } + } + return -1; + } + public override void OnInspectorGUI() { // Ensure parameters are loaded when inspector is drawn @@ -99,26 +141,39 @@ namespace gay.lilyy.PresetGenerator // Draw the default inspector DrawDefaultInspector(); + // Display preset index + int presetIndex = GetPresetIndex(); + if (presetIndex > 0) + { + EditorGUILayout.Space(); + EditorGUILayout.HelpBox($"Preset Index: {presetIndex}\n(This preset will be activated when the 'Preset {preset.Group}' parameter equals {presetIndex})", MessageType.Info); + } + + if (GUILayout.Button("Copy Parameter Name")) { + GUIUtility.systemCopyBuffer = "Preset " + preset.Group; + EditorGUILayout.LabelField("Parameter Name Copied to Clipboard", EditorStyles.boldLabel); + } + // Custom parameter list rendering if (preset.Parameters != null && preset.Parameters.Count > 0) { EditorGUILayout.Space(); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); - + for (int i = 0; i < preset.Parameters.Count; i++) { var param = preset.Parameters[i]; EditorGUILayout.BeginHorizontal(); - + // Parameter name EditorGUILayout.LabelField(param.name, GUILayout.Width(150)); - + // Parameter type (read-only) EditorGUILayout.LabelField($"Type: {param.valueType}", GUILayout.Width(100)); - + // Should change toggle param.shouldChange = EditorGUILayout.Toggle(param.shouldChange, GUILayout.Width(60)); - + // Set to value (only show if shouldChange is true) if (param.shouldChange) { @@ -139,7 +194,7 @@ namespace gay.lilyy.PresetGenerator { EditorGUILayout.LabelField("(unchanged)", GUILayout.Width(80)); } - + EditorGUILayout.EndHorizontal(); } } @@ -155,8 +210,8 @@ namespace gay.lilyy.PresetGenerator // Add a button to clear all parameters if (GUILayout.Button("Clear All Parameters")) { - if (EditorUtility.DisplayDialog("Clear Parameters", - "Are you sure you want to clear all parameters from this preset?", + if (EditorUtility.DisplayDialog("Clear Parameters", + "Are you sure you want to clear all parameters from this preset?", "Yes", "No")) { preset.Parameters.Clear(); @@ -165,4 +220,5 @@ namespace gay.lilyy.PresetGenerator } } } -} \ No newline at end of file +#endif +} diff --git a/AAC/AACShared/Runtime/ParameterPresetDefinition.cs.meta b/AAC/AACShared/Runtime/ParameterPresetDefinition.cs.meta new file mode 100644 index 0000000..9129cf6 --- /dev/null +++ b/AAC/AACShared/Runtime/ParameterPresetDefinition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d6a5ecef749799144819cc07612056ef +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Deira Manual Gestures/Manual Expressions FX.controller b/Deira Manual Gestures/Manual Expressions FX.controller deleted file mode 100644 index 6728e42..0000000 --- a/Deira Manual Gestures/Manual Expressions FX.controller +++ /dev/null @@ -1,6068 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1102 &-8706320813554819591 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Kirakira - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: 1677650713653148118} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 358371720fb846d4cadfdd80b538d8e2, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!114 &-7675250788215449951 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1101 &-7267695029726239097 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 3 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 8285109279324213831} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &-7116345589449845055 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -3772684246288934756} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &-6783884776680932427 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1102 &-6415072085750692644 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Lewd - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -4197712776244618466} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: aae49ce315d8a184dad12a7a1249872e, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1101 &-6109801189047223230 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 12 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 114769124926333728} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &-5964684598165168881 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1102 &-5756960236174599118 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Cry - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: 2795857657162274309} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: bf2a0de2be5c7a74e901dbe301d18620, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1101 &-4956807311259916141 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 8 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -6415072085750692644} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1102 &-4853938328137914902 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Rage - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -7675250788215449951} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 6957142e5b484ba4b98f2ec19daa1b7f, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!114 &-4197712776244618466 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1102 &-3772684246288934756 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Bored - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: 6676845526859437532} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 66f2e157f9ffaf741aceb1d3e3182196, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!206 &-3293838584229931135 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: dd8d476315cfbca4888f4726e7594d90, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 940fb478b81daa74abf081c5d3ea44ba, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: Butt - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &-3223922811649225703 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 41de6a4f10169664da30c77cb4ca96e7, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 410b00a6f57c6144fb9c65360c28337d, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: Abs - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!1102 &-3059514534462543233 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Smile - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -1663879842838192644} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 319bd79e7cfb44942980941e42c2e63d, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!114 &-2507497172189535150 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1102 &-2473403786482407335 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Idle - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: f973785109c398e4db956ae112e1b666, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1101 &-2278530898553318916 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 6 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -2203716038537071839} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1102 &-2203716038537071839 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Grimace - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -6783884776680932427} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 7e54a5980d9fcbd44a0eac7eff6fbc21, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!206 &-1903008959251667689 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: ad9a6adaaf9da5a418e0c4b1050389ce, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 71870fed79511ad4ba3680918299e328, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: HandSize - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!114 &-1663879842838192644 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1101 &-1625913011846223975 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 7 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -8706320813554819591} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!206 &-731285680189216522 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: c95abb08a8822b04dbb64ed6a5a63e4b, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 5ab3fcba28d313641bf7cd794f9dc0f5, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: Chub - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!1101 &-678976705727102553 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -2473403786482407335} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.0000000015857563 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &-242294951368378565 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!91 &9100000 -AnimatorController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Manual Gestures FX - serializedVersion: 5 - m_AnimatorParameters: - - m_Name: GestureLeft - m_Type: 3 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: GestureLeftWeight - m_Type: 1 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: GestureRight - m_Type: 3 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: GestureRightWeight - m_Type: 1 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: Viseme - m_Type: 3 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: ManualGestures - m_Type: 3 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - m_AnimatorLayers: - - serializedVersion: 5 - m_Name: AllParts - m_StateMachine: {fileID: 1107406222543947020} - m_Mask: {fileID: 31900000, guid: b2b8bad9583e56a46a3e21795e96ad92, type: 2} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} - - serializedVersion: 5 - m_Name: Manual Gestures - m_StateMachine: {fileID: 5700932146645937662} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 1 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} - - serializedVersion: 5 - m_Name: LipSync - m_StateMachine: {fileID: 1107076485726394942} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 1 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} ---- !u!206 &20601482 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BlendTree - m_Childs: [] - m_BlendParameter: HeightScale - m_BlendParameterY: Blend - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &20609978 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &20624522 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Prone2 - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400012, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400010, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400010, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400010, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 0.75 - m_Position: {x: 1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400010, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 1 - m_Position: {x: -1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &20658388 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400012, guid: 3c25f9a310357dc4d857376a700f6758, type: 3} - m_Threshold: 0.3 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400090, guid: 2dc9666c890a37946b1fbb67941e523d, type: 3} - m_Threshold: 0.65 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 6844dcb6a866ab34fa96c67e39eab693, type: 3} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - m_BlendParameter: HeightScaleNOMOVE - m_BlendParameterY: MovementZ - m_MinThreshold: 0.3 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &20678964 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BlendTree - m_Childs: [] - m_BlendParameter: HeightScale - m_BlendParameterY: Blend - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &20683406 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &20684674 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 1} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -1} - m_TimeScale: -2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 1, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -1, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!1101 &110119424 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8947368 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110128626 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110273718} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110128706 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 3 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110212464} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110134324 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 5 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110204806} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110150130 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 2 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110213388} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110161318 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110293312} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110165452 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 4 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110283558} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110178142 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: HandGestureLeft - m_EventTreshold: 6 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110232320} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 4 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 0 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110179994 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmoteExit - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.9423077 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110183236 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.82558143 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1102 &110200000 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 120, y: 36, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110204806 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Gun 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 336, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400002, guid: b4830721211d64b4d95148caf14d638b, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110212464 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Peace 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 276, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400020, guid: 9145c6654ec80054aa42bf7a76165903, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110213388 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Point 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 36, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400008, guid: 9145c6654ec80054aa42bf7a76165903, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110221436 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 120, y: 36, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110232320 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Thumbs up 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 216, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400014, guid: 9145c6654ec80054aa42bf7a76165903, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110241548 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 120, y: 36, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110255674 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 120, y: 36, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110273718 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Palm 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 156, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400004, guid: b4830721211d64b4d95148caf14d638b, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110283558 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: RockNRoll 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 96, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400012, guid: 9145c6654ec80054aa42bf7a76165903, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110293312 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Fist 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: -60, y: 192, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400006, guid: 9145c6654ec80054aa42bf7a76165903, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &110299266 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 120, y: 36, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!114 &114022255662586678 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: b658310f3202fc64aac64aa6e603b79a, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1102 &114769124926333728 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Wink - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -242294951368378565} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 51edbbbbfce9aea45984c048a8691d36, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!206 &206016604260823814 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206031328817658084 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206042011143769418 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: [] - m_BlendParameter: MovementX - m_BlendParameterY: MovementX - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206044813657295390 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LocomotionHeightBlend - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 206446873584821380} - m_Threshold: 0.5 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206961392883137572} - m_Threshold: 0.68 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206154770220190690} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: Upright - m_BlendParameterY: MovementZ - m_MinThreshold: 0.5 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206075972635362766 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206083985980243616 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: [] - m_BlendParameter: LocomotionX - m_BlendParameterY: LocomotionX - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206085124900947238 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206093932012389494 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206154770220190690 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206203986457737408 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206239528909019718 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LocomotionHeightBlend - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 206443553673598300} - m_Threshold: 0.5 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206906395246964180} - m_Threshold: 0.68 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206758778368637082} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: HeightScale - m_BlendParameterY: MovementZ - m_MinThreshold: 0.5 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206245235420059064 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LocomotionHeightBlend - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 206637873669902670} - m_Threshold: 0.5 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206754156246800710} - m_Threshold: 0.68 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206016604260823814} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: Upright - m_BlendParameterY: MovementZ - m_MinThreshold: 0.5 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206307437469983586 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206395530848215904 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206417488844622416 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206443553673598300 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206446873584821380 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206471471687492400 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206554094169995096 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206630646726750164 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206637873669902670 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206684153996676736 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206723165694216672 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206754156246800710 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206758778368637082 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: StandingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400030, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 5.96} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400032, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.05882353 - m_Position: {x: 0, y: 3.4} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400034, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.11764706 - m_Position: {x: 0, y: 1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400002, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.1764706 - m_Position: {x: 0, y: 0} - m_TimeScale: 0.166 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400068, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.23529412 - m_Position: {x: 0, y: -1.56} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400036, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.29411766 - m_Position: {x: 0, y: -2.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.3529412 - m_Position: {x: -3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.4117647 - m_Position: {x: -1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.47058824 - m_Position: {x: 1.56, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400038, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5294118 - m_Position: {x: 3, y: 0} - m_TimeScale: 2 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400040, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5882353 - m_Position: {x: -1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400042, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.64705884 - m_Position: {x: 1.1, y: -1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400044, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7058824 - m_Position: {x: -1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400046, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.7647059 - m_Position: {x: 1.1, y: 1.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400048, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.8235294 - m_Position: {x: -2.44, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400050, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.88235295 - m_Position: {x: 2.4, y: 2.44} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400070, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.9411765 - m_Position: {x: -1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400072, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 1.5, y: -1.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206906395246964180 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206913599990230568 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LocomotionHeightBlend - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 206956841050264174} - m_Threshold: 0.5 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206723165694216672} - m_Threshold: 0.68 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 206085124900947238} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: Upright - m_BlendParameterY: MovementZ - m_MinThreshold: 0.5 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!206 &206956841050264174 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!206 &206961392883137572 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CrouchingLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400026, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.5} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400024, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.5} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: -0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementZ - m_Mirror: 1 - - serializedVersion: 2 - m_Motion: {fileID: 7400028, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: 0.5, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementZ - m_Mirror: 0 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 2 ---- !u!206 &206973349054612556 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ProneLocomotion - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400004, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.25 - m_Position: {x: 0, y: 0.1} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.5 - m_Position: {x: 0, y: -0.1} - m_TimeScale: -1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 0.75 - m_Position: {x: 0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: MovementX - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400066, guid: 7e5debf235ac2d54397a268de3328672, type: 3} - m_Threshold: 1 - m_Position: {x: -0.1, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0.5 - m_DirectBlendParameter: MovementX - m_Mirror: 1 - m_BlendParameter: MovementX - m_BlendParameterY: MovementZ - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 0 - m_NormalizedBlendValues: 0 - m_BlendType: 1 ---- !u!1101 &402887687930878302 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 4 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -5756960236174599118} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101071561901345974 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8076923 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101082732701353718 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101086708107522822 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Emote - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101104924178738988 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8076923 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101120636847954260 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: Viseme - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102559373518608300} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.08947945 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101148804329760398 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Upright - m_EventTreshold: 0.52 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101148981028452212 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: FeetTracking - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101178593027351574 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: FeetTracking - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101193479851557412 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: Grounded - m_EventTreshold: 0 - - m_ConditionMode: 3 - m_ConditionEvent: HeightScale - m_EventTreshold: 0.9 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101196402134137872 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Upright - m_EventTreshold: 0.5 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101210025531826312 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101215887034957236 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 2 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102492248710561608} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101235114653490514 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: AFK - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 1 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101272092978760438 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.93697476 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101282719630430872 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Upright - m_EventTreshold: 0.52 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101297612369784376 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102545041757170712} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101351837936359920 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 5 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102518601152573940} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101423121419488520 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: TrackMoveZ - m_EventTreshold: 0.1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.93697476 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101456499283018434 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 3 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102699109638154208} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101480615058169886 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Upright - m_EventTreshold: 0.52 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101512413549531714 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Grounded - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.04 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101573855910363042 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: AFK - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 1 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101577419743741550 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: AFK - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 1 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101596317902369552 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 7 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102736723225604766} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101598777299516300 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Emote - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101603728083322770 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Upright - m_EventTreshold: 0.7 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101629384447080740 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: FeetTracking - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101637843614510802 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102105159254072260} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101647427822641960 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Emote - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101660483277363162 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: Grounded - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110226965, guid: 12cd9f87c1f675b4685e0848a464d0cf, type: 2} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.9 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101707632253518802 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: TrackMoveZ - m_EventTreshold: 0.1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.93697476 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101742756729684132 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101754637864197002 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Seated - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101763489010295110 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 4 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102846907222558886} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101846485851784322 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 7 - m_ConditionEvent: Viseme - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102101492697209648} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.08680409 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101932382716972008 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Grounded - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.039085507 - m_TransitionOffset: 0 - m_ExitTime: 0.72727275 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101962578053626730 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: TrackMoveX - m_EventTreshold: 0.1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.93697476 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101968820826125738 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: GestureLeft - m_EventTreshold: 6 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102096756771513856} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.1 - m_TransitionOffset: 0 - m_ExitTime: 1 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1101969439990905432 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: TrackMoveZ - m_EventTreshold: -0.1 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.93697476 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101974865512462218 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Seated - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.5 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1102 &1102096756771513856 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Gun - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 336, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: 98d5ecfa67305c34985745094ade494c, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102101492697209648 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LipSync_Active - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: 1101120636847954260} - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 8d786fbc410c8a945ada222093d4699a, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102105159254072260 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Idle - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 790b757e20c0f2c42b5a4e1817ea5efd, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102492248710561608 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Open - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 156, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: bd76ddf346046e346bee29d1d6f95a5d, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102518601152573940 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: RockNRoll - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 96, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: 2bd397d5afcbb3647b149cb8bc1a03ee, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102545041757170712 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Fist - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: -60, y: 192, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: 81435368fed3f9d44b98ac6b56148f6d, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102559373518608300 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LipSync_Inactive - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: 1101846485851784322} - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: f973785109c398e4db956ae112e1b666, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102628760306700186 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: HeightBlend 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 206245235420059064} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102670047216628226 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: HeightBlend 0 - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 1 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 206044813657295390} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102699109638154208 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Point - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 36, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: 08c0ae90c5f9e56428799dc10c4c53c5, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102736723225604766 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Thumbs up - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 216, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: cdedf23966a15a5408db1293649dbdda, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1102 &1102846907222558886 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Peace - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 264, y: 276, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 0 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 1 - m_Motion: {fileID: 7400000, guid: 467d24c372e24834d8fe12b28efe5de2, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: GestureLeftWeight ---- !u!1107 &1107076485726394942 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LipSync - m_ChildStates: - - serializedVersion: 1 - m_State: {fileID: 1102101492697209648} - m_Position: {x: 92.21393, y: 227.29489, z: 0} - - serializedVersion: 1 - m_State: {fileID: 1102559373518608300} - m_Position: {x: 140, y: 320, z: 0} - m_ChildStateMachines: [] - m_AnyStateTransitions: [] - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 1102101492697209648} ---- !u!1107 &1107406222543947020 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: AllParts - m_ChildStates: [] - m_ChildStateMachines: [] - m_AnyStateTransitions: [] - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 0} ---- !u!1109 &1109311395242789590 -AnimatorTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: Seated - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 1 ---- !u!1109 &1109726522920850736 -AnimatorTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Emote - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 1 ---- !u!1109 &1109756093405188824 -AnimatorTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: Grounded - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 1 ---- !u!1109 &1109763167683413500 -AnimatorTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: Emote - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 1 - serializedVersion: 1 ---- !u!1109 &1109910370775189524 -AnimatorTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: FeetTracking - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 1 ---- !u!1101 &1385206978687073980 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 9 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -4853938328137914902} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &1677650713653148118 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1101 &1919667077468850145 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 10 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -3059514534462543233} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &2795857657162274309 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1101 &3688914016770503245 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 11 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 7741389352512175999} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!206 &3903824673980832664 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: aaf924da2e144a847ad8335bfc7f7ca9, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 233c7695fa2cf70478c1cab17cdc5391, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: Breast - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!1101 &4098209133718758692 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 20 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -2473403786482407335} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.000000010539328 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &5094124238148303268 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1101 &5588687764784876302 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 2 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 9028563392434106478} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1102 &5647785670208696061 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SocksOn - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 0} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1107 &5700932146645937662 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Manual Gestures - m_ChildStates: - - serializedVersion: 1 - m_State: {fileID: -2473403786482407335} - m_Position: {x: -20, y: -70, z: 0} - - serializedVersion: 1 - m_State: {fileID: -3772684246288934756} - m_Position: {x: 300, y: -180, z: 0} - - serializedVersion: 1 - m_State: {fileID: 9028563392434106478} - m_Position: {x: 300, y: -140, z: 0} - - serializedVersion: 1 - m_State: {fileID: 8285109279324213831} - m_Position: {x: 300, y: -100, z: 0} - - serializedVersion: 1 - m_State: {fileID: -5756960236174599118} - m_Position: {x: 300, y: -60, z: 0} - - serializedVersion: 1 - m_State: {fileID: 8279778301660300247} - m_Position: {x: 300, y: -20, z: 0} - - serializedVersion: 1 - m_State: {fileID: -2203716038537071839} - m_Position: {x: 300, y: 20, z: 0} - - serializedVersion: 1 - m_State: {fileID: -8706320813554819591} - m_Position: {x: 300, y: 60, z: 0} - - serializedVersion: 1 - m_State: {fileID: -6415072085750692644} - m_Position: {x: 300, y: 100, z: 0} - - serializedVersion: 1 - m_State: {fileID: -4853938328137914902} - m_Position: {x: 300, y: 140, z: 0} - - serializedVersion: 1 - m_State: {fileID: -3059514534462543233} - m_Position: {x: 300, y: 180, z: 0} - - serializedVersion: 1 - m_State: {fileID: 7741389352512175999} - m_Position: {x: 300, y: 220, z: 0} - - serializedVersion: 1 - m_State: {fileID: 114769124926333728} - m_Position: {x: 300, y: 260, z: 0} - m_ChildStateMachines: [] - m_AnyStateTransitions: - - {fileID: -678976705727102553} - - {fileID: -7116345589449845055} - - {fileID: 5588687764784876302} - - {fileID: -7267695029726239097} - - {fileID: 402887687930878302} - - {fileID: 5923137944036070543} - - {fileID: -2278530898553318916} - - {fileID: -1625913011846223975} - - {fileID: -4956807311259916141} - - {fileID: 1385206978687073980} - - {fileID: 1919667077468850145} - - {fileID: 3688914016770503245} - - {fileID: -6109801189047223230} - - {fileID: 4098209133718758692} - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 0, y: 30, z: 0} - m_EntryPosition: {x: -210, y: 30, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: -2473403786482407335} ---- !u!1101 &5923137944036070543 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 6 - m_ConditionEvent: ManualGestures - m_EventTreshold: 5 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 8279778301660300247} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &6338531476076327551 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!114 &6676845526859437532 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -646210727, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - trackingHead: 0 - trackingLeftHand: 0 - trackingRightHand: 0 - trackingHip: 0 - trackingLeftFoot: 0 - trackingRightFoot: 0 - trackingLeftFingers: 0 - trackingRightFingers: 0 - trackingEyes: 2 - trackingMouth: 0 - debugString: ---- !u!1102 &7741389352512175999 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Surprise - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -2507497172189535150} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: aae776752ceb4db498f6cdfb152103cd, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!206 &8190419143943524257 -BlendTree: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blend Tree - m_Childs: - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: d213f44019a9ffe4bb185b63ec4f94f2, type: 2} - m_Threshold: 0 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - - serializedVersion: 2 - m_Motion: {fileID: 7400000, guid: 99f4601e6b2dac340aae785b6c8d5146, type: 2} - m_Threshold: 1 - m_Position: {x: 0, y: 0} - m_TimeScale: 1 - m_CycleOffset: 0 - m_DirectBlendParameter: GestureLeftWeight - m_Mirror: 0 - m_BlendParameter: Fat - m_BlendParameterY: GestureLeftWeight - m_MinThreshold: 0 - m_MaxThreshold: 1 - m_UseAutomaticThresholds: 1 - m_NormalizedBlendValues: 0 - m_BlendType: 0 ---- !u!1102 &8279778301660300247 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Fluster - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: -5964684598165168881} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: d43309a270e98fc48b3d5f6a8a58c7c4, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &8285109279324213831 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: CloseEye - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: 5094124238148303268} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: d7dd058a5f33b1d4b9bc23463fc3f1b5, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &9028563392434106478 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Cheeky Smile - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: - - {fileID: 6338531476076327551} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: ca4eb4ebc2cf979409a1f2ab1c00b0bc, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: diff --git a/Deira Manual Gestures/Manual Expressions FX.controller.meta b/Deira Manual Gestures/Manual Expressions FX.controller.meta deleted file mode 100644 index b5b9493..0000000 --- a/Deira Manual Gestures/Manual Expressions FX.controller.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9c2e6d1bfd782264fba30d2a9a9228ef -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 9100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Deira Manual Gestures/Manual Expressions Next.asset b/Deira Manual Gestures/Manual Expressions Next.asset deleted file mode 100644 index ab57f6e..0000000 --- a/Deira Manual Gestures/Manual Expressions Next.asset +++ /dev/null @@ -1,76 +0,0 @@ -%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: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: Manual Gestures Next - m_EditorClassIdentifier: - Parameters: {fileID: 11400000, guid: 465c429fc22a98b4e987f0f36c97d6db, type: 2} - controls: - - name: Kirakira - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 7 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Lewd - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 8 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Rage - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 9 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Smile - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 10 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Surprise - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 11 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Wink - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 12 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] diff --git a/Deira Manual Gestures/Manual Expressions Next.asset.meta b/Deira Manual Gestures/Manual Expressions Next.asset.meta deleted file mode 100644 index 0e86bac..0000000 --- a/Deira Manual Gestures/Manual Expressions Next.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 77d4b3fe64c721c42943fea5019cea16 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Deira Manual Gestures/Manual Expressions Params.asset b/Deira Manual Gestures/Manual Expressions Params.asset deleted file mode 100644 index 53129d2..0000000 --- a/Deira Manual Gestures/Manual Expressions Params.asset +++ /dev/null @@ -1,21 +0,0 @@ -%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: -1506855854, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: Manual Expressions Params - m_EditorClassIdentifier: - isEmpty: 0 - parameters: - - name: ManualGestures - valueType: 0 - saved: 1 - defaultValue: 0 - networkSynced: 1 diff --git a/Deira Manual Gestures/Manual Expressions Params.asset.meta b/Deira Manual Gestures/Manual Expressions Params.asset.meta deleted file mode 100644 index f3d935e..0000000 --- a/Deira Manual Gestures/Manual Expressions Params.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 580f932906bb5814e9706d200902099e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Deira Manual Gestures/Manual Expressions.asset b/Deira Manual Gestures/Manual Expressions.asset deleted file mode 100644 index 9b1cfed..0000000 --- a/Deira Manual Gestures/Manual Expressions.asset +++ /dev/null @@ -1,96 +0,0 @@ -%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: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: Manual Gestures - m_EditorClassIdentifier: - Parameters: {fileID: 11400000, guid: 465c429fc22a98b4e987f0f36c97d6db, type: 2} - controls: - - name: Idle - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 20 - style: 0 - subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2} - subParameters: [] - labels: [] - - name: Bored - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Cheeky Smile - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 2 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: CloseEye - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 3 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Cry - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 4 - style: 0 - subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2} - subParameters: [] - labels: [] - - name: Fluster - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 5 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Grimace - icon: {fileID: 0} - type: 102 - parameter: - name: ManualGestures - value: 6 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Next - icon: {fileID: 0} - type: 103 - parameter: - name: - value: 1 - style: 0 - subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2} - subParameters: [] - labels: [] diff --git a/Deira Manual Gestures/Manual Expressions.asset.meta b/Deira Manual Gestures/Manual Expressions.asset.meta deleted file mode 100644 index 8e0ac11..0000000 --- a/Deira Manual Gestures/Manual Expressions.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b1b4d9aa0e7225e468c63bf311381187 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Deira Manual Gestures/Manual Expressions.prefab b/Deira Manual Gestures/Manual Expressions.prefab deleted file mode 100644 index 2388d7e..0000000 --- a/Deira Manual Gestures/Manual Expressions.prefab +++ /dev/null @@ -1,121 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1401281518449365313 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3124411546753572658} - - component: {fileID: 8773857123632308849} - m_Layer: 0 - m_Name: Manual Gestures - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3124411546753572658 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1401281518449365313} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8773857123632308849 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1401281518449365313} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1151.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1818413120295272595 - references: - version: 2 - RefIds: - - rid: 1818413120295272595 - type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 4 - controllers: - - controller: - version: 1 - fileID: 0 - guid: - id: 9c2e6d1bfd782264fba30d2a9a9228ef|Assets/Deira Manual Gestures/Manual - Gestures FX.controller - objRef: {fileID: 9100000, guid: 9c2e6d1bfd782264fba30d2a9a9228ef, type: 2} - type: 5 - menus: - - menu: - version: 1 - fileID: 0 - guid: - id: b1b4d9aa0e7225e468c63bf311381187|Assets/Deira Manual Gestures/Manual - Gestures.asset - objRef: {fileID: 11400000, guid: b1b4d9aa0e7225e468c63bf311381187, type: 2} - prefix: Manual Gestures - prms: - - parameters: - version: 1 - fileID: 0 - guid: - id: 580f932906bb5814e9706d200902099e|Assets/Deira Manual Gestures/Manual - Expressions Params.asset - objRef: {fileID: 11400000, guid: 580f932906bb5814e9706d200902099e, type: 2} - smoothedPrms: [] - globalParams: - - ManualGestures - allNonsyncedAreGlobal: 0 - ignoreSaved: 0 - toggleParam: - rootObjOverride: {fileID: 0} - rootBindingsApplyToAvatar: 0 - rewriteBindings: [] - allowMissingAssets: 0 - injectSpsDepthParam: - injectSpsVelocityParam: - controller: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - menu: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - parameters: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - submenu: - removePrefixes: [] - addPrefix: - useSecurityForToggle: 0 diff --git a/Deira Manual Gestures/Manual Expressions.prefab.meta b/Deira Manual Gestures/Manual Expressions.prefab.meta deleted file mode 100644 index 41afd08..0000000 --- a/Deira Manual Gestures/Manual Expressions.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 947438966fe00b9438d7bc2d9de89fad -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/MenuIconRemover/Editor/MenuIconRemoverEditor.asmdef b/MenuIconRemover/Editor/MenuIconRemoverEditor.asmdef index c7e1bc5..a9ccd9c 100644 --- a/MenuIconRemover/Editor/MenuIconRemoverEditor.asmdef +++ b/MenuIconRemover/Editor/MenuIconRemoverEditor.asmdef @@ -4,7 +4,8 @@ "references": [ "GUID:4713dd3cf2e7fa34cbc6bbb6fef3c7d0", "GUID:62ced99b048af7f4d8dfe4bed8373d76", - "GUID:5718fb738711cd34ea54e9553040911d" + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:901e56b065a857d4483a77f8cae73588" ], "includePlatforms": [ "Editor" diff --git a/MenuIconRemover/Editor/MenuIconRemoverPlugin.cs b/MenuIconRemover/Editor/MenuIconRemoverPlugin.cs index c8e8ae8..642c1b0 100644 --- a/MenuIconRemover/Editor/MenuIconRemoverPlugin.cs +++ b/MenuIconRemover/Editor/MenuIconRemoverPlugin.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using gay.lilyy.MenuIconRemover; using nadena.dev.ndmf; +using nadena.dev.ndmf.vrchat; using UnityEditor; using UnityEngine; using VRC.SDK3.Avatars.ScriptableObjects; @@ -34,7 +35,8 @@ namespace gay.lilyy.MenuIconRemover } if (shouldRemove) { - ctx.AvatarDescriptor.expressionsMenu = DuplicateMenu(obj, ctx.AvatarDescriptor.expressionsMenu); + var descriptor = ctx.VRChatAvatarDescriptor(); + descriptor.expressionsMenu = DuplicateMenu(obj, descriptor.expressionsMenu); Object.DestroyImmediate(obj); } } diff --git a/MenuIconReplacer/Editor/MenuIconReplacerEditor.asmdef b/MenuIconReplacer/Editor/MenuIconReplacerEditor.asmdef index d3b8f12..c24bac5 100644 --- a/MenuIconReplacer/Editor/MenuIconReplacerEditor.asmdef +++ b/MenuIconReplacer/Editor/MenuIconReplacerEditor.asmdef @@ -4,7 +4,8 @@ "references": [ "GUID:108c6ed81f83e074fa168f7087c2a246", "GUID:62ced99b048af7f4d8dfe4bed8373d76", - "GUID:5718fb738711cd34ea54e9553040911d" + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:901e56b065a857d4483a77f8cae73588" ], "includePlatforms": [ "Editor" diff --git a/MenuIconReplacer/Editor/MenuIconReplacerPlugin.cs b/MenuIconReplacer/Editor/MenuIconReplacerPlugin.cs index c90609b..5cecf80 100644 --- a/MenuIconReplacer/Editor/MenuIconReplacerPlugin.cs +++ b/MenuIconReplacer/Editor/MenuIconReplacerPlugin.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using gay.lilyy.MenuIconReplacer; using nadena.dev.ndmf; +using nadena.dev.ndmf.vrchat; using NUnit.Framework.Constraints; using UnityEditor; using UnityEngine; @@ -23,7 +24,8 @@ namespace gay.lilyy.MenuIconReplacer var obj = ctx.AvatarRootObject.GetComponent(); if (obj != null) { - ctx.AvatarDescriptor.expressionsMenu = RecurseMenu(obj, ctx.AvatarDescriptor.expressionsMenu); + var descriptor = ctx.VRChatAvatarDescriptor(); + descriptor.expressionsMenu = RecurseMenu(obj, descriptor.expressionsMenu); Object.DestroyImmediate(obj); } }); diff --git a/MenuStyling/Editor/MenuStylingEditorAsmdef.asmdef b/MenuStyling/Editor/MenuStylingEditorAsmdef.asmdef index bb9c6bf..080d4e1 100644 --- a/MenuStyling/Editor/MenuStylingEditorAsmdef.asmdef +++ b/MenuStyling/Editor/MenuStylingEditorAsmdef.asmdef @@ -4,7 +4,8 @@ "references": [ "GUID:8a060350c9ddd424197c8fd1e0d63f72", "GUID:62ced99b048af7f4d8dfe4bed8373d76", - "GUID:5718fb738711cd34ea54e9553040911d" + "GUID:5718fb738711cd34ea54e9553040911d", + "GUID:901e56b065a857d4483a77f8cae73588" ], "includePlatforms": [ "Editor" diff --git a/MenuStyling/Editor/MenuStylingPlugin.cs b/MenuStyling/Editor/MenuStylingPlugin.cs index ce462ee..86beea1 100644 --- a/MenuStyling/Editor/MenuStylingPlugin.cs +++ b/MenuStyling/Editor/MenuStylingPlugin.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using gay.lilyy.MenuStyling; using nadena.dev.ndmf; +using nadena.dev.ndmf.vrchat; using UnityEngine; using VRC.SDK3.Avatars.ScriptableObjects; using static VRC.SDK3.Avatars.ScriptableObjects.VRCExpressionsMenu; @@ -20,8 +21,9 @@ namespace gay.lilyy.MenuStyling var obj = ctx.AvatarRootObject.GetComponent(); if (obj != null) { - ctx.AvatarDescriptor.expressionsMenu = DuplicateMenu(ctx.AvatarDescriptor.expressionsMenu); - WalkMenu(obj, ctx.AvatarDescriptor.expressionsMenu); + var descriptor = ctx.VRChatAvatarDescriptor(); + descriptor.expressionsMenu = DuplicateMenu(descriptor.expressionsMenu); + WalkMenu(obj, descriptor.expressionsMenu); Object.DestroyImmediate(obj); } }); diff --git a/Mixer Controls/HOSCY/HOSCY Media Controls.asset b/Mixer Controls/HOSCY/HOSCY Media Controls.asset deleted file mode 100644 index 75745c8..0000000 --- a/Mixer Controls/HOSCY/HOSCY Media Controls.asset +++ /dev/null @@ -1,66 +0,0 @@ -%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: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: HOSCY Media Controls - m_EditorClassIdentifier: - Parameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2} - controls: - - name: Skip - icon: {fileID: 0} - type: 0 - parameter: - name: MediaSkip - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Unpause - icon: {fileID: 0} - type: 0 - parameter: - name: MediaUnpause - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Toggle Pause - icon: {fileID: 0} - type: 0 - parameter: - name: MediaToggle - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Pause - icon: {fileID: 0} - type: 0 - parameter: - name: MediaPause - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Back - icon: {fileID: 0} - type: 0 - parameter: - name: MediaRewind - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] diff --git a/Mixer Controls/HOSCY/HOSCY Media Controls.asset.meta b/Mixer Controls/HOSCY/HOSCY Media Controls.asset.meta deleted file mode 100644 index bd4abc9..0000000 --- a/Mixer Controls/HOSCY/HOSCY Media Controls.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4e06c7e56e0548e4a988213ea1d3f36d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/HOSCY/HOSCY Menu.asset b/Mixer Controls/HOSCY/HOSCY Menu.asset deleted file mode 100644 index e8c133c..0000000 --- a/Mixer Controls/HOSCY/HOSCY Menu.asset +++ /dev/null @@ -1,46 +0,0 @@ -%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: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: HOSCY Menu - m_EditorClassIdentifier: - Parameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2} - controls: - - name: Toggle Mute - icon: {fileID: 0} - type: 0 - parameter: - name: ToolMute - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Clear Chatbox - icon: {fileID: 0} - type: 0 - parameter: - name: ToolSkipBox - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - - name: Media - icon: {fileID: 0} - type: 103 - parameter: - name: - value: 1 - style: 0 - subMenu: {fileID: 11400000, guid: 4e06c7e56e0548e4a988213ea1d3f36d, type: 2} - subParameters: [] - labels: [] diff --git a/Mixer Controls/HOSCY/HOSCY Menu.asset.meta b/Mixer Controls/HOSCY/HOSCY Menu.asset.meta deleted file mode 100644 index 05a56e5..0000000 --- a/Mixer Controls/HOSCY/HOSCY Menu.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eacbb58faaed63944934487f4a784a35 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/HOSCY/HOSCY Params.asset b/Mixer Controls/HOSCY/HOSCY Params.asset deleted file mode 100644 index a0233da..0000000 --- a/Mixer Controls/HOSCY/HOSCY Params.asset +++ /dev/null @@ -1,66 +0,0 @@ -%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: -1506855854, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: HOSCY Params - m_EditorClassIdentifier: - isEmpty: 0 - parameters: - - name: ToolMute - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: ToolSkipBox - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaInfo - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaToggle - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaPause - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaUnpause - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaSkip - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: MediaRewind - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: ToolEnableReplacements - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: ToolEnableBox - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 diff --git a/Mixer Controls/HOSCY/HOSCY Params.asset.meta b/Mixer Controls/HOSCY/HOSCY Params.asset.meta deleted file mode 100644 index 23dceca..0000000 --- a/Mixer Controls/HOSCY/HOSCY Params.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9ecd699a8e53fb84282895934b68300c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/HOSCY/test.unity b/Mixer Controls/HOSCY/test.unity deleted file mode 100644 index 2dadbea..0000000 --- a/Mixer Controls/HOSCY/test.unity +++ /dev/null @@ -1,849 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 3 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &207573495 -GameObject: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 207573497} - - component: {fileID: 207573496} - m_Layer: 0 - m_Name: nadena.dev.ndmf__Activator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &207573496 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 207573495} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c432a5ed00a04259997c23712bcf2186, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &207573497 -Transform: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 207573495} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &741937902 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1196135828297054, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_Name - value: GestureManager - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3} ---- !u!1 &1408084239 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1408084242} - - component: {fileID: 1408084241} - - component: {fileID: 1408084240} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1408084240 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1408084239} - m_Enabled: 1 ---- !u!20 &1408084241 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1408084239} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1408084242 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1408084239} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1746243705 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1746243706} - - component: {fileID: 1746243709} - - component: {fileID: 1746243708} - - component: {fileID: 1746243707} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1746243706 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1746243705} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2067042381} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &1746243707 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1746243705} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1746243708 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1746243705} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1746243709 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1746243705} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1993829427 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1993829429} - - component: {fileID: 1993829428} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &1993829428 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1993829427} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &1993829429 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1993829427} - serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &2067042378 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2067042381} - - component: {fileID: 2067042380} - - component: {fileID: 2067042379} - - component: {fileID: 2067042382} - m_Layer: 0 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &2067042379 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2067042378} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1427037861, guid: 4ecd63eff847044b68db9453ce219299, type: 3} - m_Name: - m_EditorClassIdentifier: - launchedFromSDKPipeline: 0 - completedSDKPipeline: 0 - blueprintId: - contentType: 0 - assetBundleUnityVersion: - fallbackStatus: 0 ---- !u!114 &2067042380 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2067042378} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 542108242, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: - ViewPosition: {x: 0, y: 1.6, z: 0.2} - Animations: 0 - ScaleIPD: 1 - lipSync: 0 - lipSyncJawBone: {fileID: 0} - lipSyncJawClosed: {x: 0, y: 0, z: 0, w: 1} - lipSyncJawOpen: {x: 0, y: 0, z: 0, w: 1} - VisemeSkinnedMesh: {fileID: 0} - MouthOpenBlendShapeName: Facial_Blends.Jaw_Down - VisemeBlendShapes: [] - unityVersion: - portraitCameraPositionOffset: {x: 0, y: 0, z: 0} - portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139} - networkIDs: [] - customExpressions: 1 - expressionsMenu: {fileID: 11400000, guid: eacbb58faaed63944934487f4a784a35, type: 2} - expressionParameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2} - enableEyeLook: 0 - customEyeLookSettings: - eyeMovement: - confidence: 0.5 - excitement: 0.5 - leftEye: {fileID: 0} - rightEye: {fileID: 0} - eyesLookingStraight: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyesLookingUp: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyesLookingDown: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyesLookingLeft: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyesLookingRight: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyelidType: 0 - upperLeftEyelid: {fileID: 0} - upperRightEyelid: {fileID: 0} - lowerLeftEyelid: {fileID: 0} - lowerRightEyelid: {fileID: 0} - eyelidsDefault: - upper: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - lower: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyelidsClosed: - upper: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - lower: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyelidsLookingUp: - upper: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - lower: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyelidsLookingDown: - upper: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - lower: - linked: 1 - left: {x: 0, y: 0, z: 0, w: 0} - right: {x: 0, y: 0, z: 0, w: 0} - eyelidsSkinnedMesh: {fileID: 0} - eyelidsBlendshapes: - customizeAnimationLayers: 1 - baseAnimationLayers: - - isEnabled: 0 - type: 0 - animatorController: {fileID: 0} - mask: {fileID: 0} - isDefault: 1 - - isEnabled: 0 - type: 4 - animatorController: {fileID: 0} - mask: {fileID: 0} - isDefault: 1 - - isEnabled: 0 - type: 5 - animatorController: {fileID: 9100000, guid: 0968be0196d1a824194709765dd0428d, type: 2} - mask: {fileID: 0} - isDefault: 0 - specialAnimationLayers: - - isEnabled: 0 - type: 6 - animatorController: {fileID: 0} - mask: {fileID: 0} - isDefault: 1 - - isEnabled: 0 - type: 7 - animatorController: {fileID: 0} - mask: {fileID: 0} - isDefault: 1 - - isEnabled: 0 - type: 8 - animatorController: {fileID: 0} - mask: {fileID: 0} - isDefault: 1 - AnimationPreset: {fileID: 0} - animationHashSet: [] - autoFootsteps: 1 - autoLocomotion: 1 - collider_head: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_torso: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_footR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_footL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_handR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_handL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerIndexL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerMiddleL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerRingL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerLittleL: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerIndexR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerMiddleR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerRingR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - collider_fingerLittleR: - isMirrored: 1 - state: 0 - transform: {fileID: 0} - radius: 0 - height: 0 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!4 &2067042381 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2067042378} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.0064211, y: 0.7215953, z: -3.148621} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1746243706} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &2067042382 -Animator: - serializedVersion: 5 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2067042378} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 0} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1660057539 &9223372036854775807 -SceneRoots: - m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 1408084242} - - {fileID: 1993829429} - - {fileID: 207573497} - - {fileID: 2067042381} - - {fileID: 741937902} diff --git a/Mixer Controls/HOSCY/test.unity.meta b/Mixer Controls/HOSCY/test.unity.meta deleted file mode 100644 index 1665809..0000000 --- a/Mixer Controls/HOSCY/test.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9313ce98fff8c294db16ed4e5b9c8646 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/STEAMEETER/VM Menu.asset b/Mixer Controls/STEAMEETER/VM Menu.asset deleted file mode 100644 index ab13810..0000000 --- a/Mixer Controls/STEAMEETER/VM Menu.asset +++ /dev/null @@ -1,71 +0,0 @@ -%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: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: VM Menu - m_EditorClassIdentifier: - Parameters: {fileID: 11400000, guid: dd839aaedeb7e88479f2db0250d003d4, type: 2} - controls: - - name: VAIO - icon: {fileID: 0} - type: 203 - parameter: - name: - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: - - name: sm/gain/VAIO - labels: [] - - name: AUX - icon: {fileID: 0} - type: 203 - parameter: - name: - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: - - name: sm/gain/AUX - labels: [] - - name: VAIO3 - icon: {fileID: 0} - type: 203 - parameter: - name: - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: - - name: sm/gain/VAIO3 - labels: [] - - name: AUX > B1 - icon: {fileID: 0} - type: 102 - parameter: - name: sm/strip/AUX/B1 - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: - - name: sm/strip/AUX/B1 - labels: [] - - name: AUX Mute - icon: {fileID: 0} - type: 102 - parameter: - name: sm/strip/AUX/Mute - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: - - name: sm/strip/AUX/B1 - labels: [] diff --git a/Mixer Controls/STEAMEETER/VM Menu.asset.meta b/Mixer Controls/STEAMEETER/VM Menu.asset.meta deleted file mode 100644 index 7efc70b..0000000 --- a/Mixer Controls/STEAMEETER/VM Menu.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1d809dc98cc46ff49b67674778b8f167 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/STEAMEETER/VM Params.asset b/Mixer Controls/STEAMEETER/VM Params.asset deleted file mode 100644 index 2d4123e..0000000 --- a/Mixer Controls/STEAMEETER/VM Params.asset +++ /dev/null @@ -1,41 +0,0 @@ -%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: -1506855854, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: VM Params - m_EditorClassIdentifier: - isEmpty: 0 - parameters: - - name: sm/gain/VAIO - valueType: 1 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: sm/gain/AUX - valueType: 1 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: sm/gain/VAIO3 - valueType: 1 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: sm/strip/AUX/B1 - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 - - name: sm/strip/AUX/Mute - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 0 diff --git a/Mixer Controls/STEAMEETER/VM Params.asset.meta b/Mixer Controls/STEAMEETER/VM Params.asset.meta deleted file mode 100644 index 2f264f6..0000000 --- a/Mixer Controls/STEAMEETER/VM Params.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dd839aaedeb7e88479f2db0250d003d4 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Mixer Controls/STEAMEETER/Voicemeeter.prefab b/Mixer Controls/STEAMEETER/Voicemeeter.prefab deleted file mode 100644 index d037eb2..0000000 --- a/Mixer Controls/STEAMEETER/Voicemeeter.prefab +++ /dev/null @@ -1,111 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1718541793057240430 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3001921875864114090} - - component: {fileID: 5925253330340304942} - m_Layer: 0 - m_Name: Voicemeeter - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3001921875864114090 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1718541793057240430} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5925253330340304942 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1718541793057240430} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1234.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 50338559674024121 - references: - version: 2 - RefIds: - - rid: 50338559674024121 - type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 4 - controllers: [] - menus: - - menu: - version: 1 - fileID: 0 - guid: - id: 1d809dc98cc46ff49b67674778b8f167|Assets/! LillithRosePup/Mixer Controls/STEAMEETER/Menu.asset - objRef: {fileID: 11400000, guid: 1d809dc98cc46ff49b67674778b8f167, type: 2} - prefix: Utils/Mixers/Voicemeeter - prms: - - parameters: - version: 1 - fileID: 0 - guid: - id: dd839aaedeb7e88479f2db0250d003d4|Assets/! LillithRosePup/Mixer Controls/STEAMEETER/Params.asset - objRef: {fileID: 11400000, guid: dd839aaedeb7e88479f2db0250d003d4, type: 2} - smoothedPrms: [] - globalParams: - - '*' - allNonsyncedAreGlobal: 0 - ignoreSaved: 0 - toggleParam: - rootObjOverride: {fileID: 0} - rootBindingsApplyToAvatar: 0 - rewriteBindings: [] - allowMissingAssets: 0 - injectSpsDepthParam: - injectSpsVelocityParam: - controller: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - menu: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - parameters: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - submenu: - removePrefixes: [] - addPrefix: - useSecurityForToggle: 0 diff --git a/Moderation Toolkit.meta b/Moderation Toolkit.meta deleted file mode 100644 index e7a6bc3..0000000 --- a/Moderation Toolkit.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bfff3c3f9cc48b34a9c100d80d9337f5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible.meta b/Moderation Toolkit/Invisible.meta deleted file mode 100644 index c9d2826..0000000 --- a/Moderation Toolkit/Invisible.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 678807767a302cc469643a3d2ba870ea -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/Invisible FX.controller b/Moderation Toolkit/Invisible/Invisible FX.controller deleted file mode 100644 index c16aaa5..0000000 --- a/Moderation Toolkit/Invisible/Invisible FX.controller +++ /dev/null @@ -1,322 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1107 &-7831323369560185897 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Set InvisRemote - m_ChildStates: - - serializedVersion: 1 - m_State: {fileID: 3138549469001800764} - m_Position: {x: 280, y: 80, z: 0} - - serializedVersion: 1 - m_State: {fileID: -5476205041597225641} - m_Position: {x: 560, y: 30, z: 0} - m_ChildStateMachines: [] - m_AnyStateTransitions: [] - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 3138549469001800764} ---- !u!1102 &-5476205041597225641 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: InvisibleRemote - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: 3471562930407511474} - - {fileID: 6724418095391302561} - - {fileID: -3774455353007183083} - m_StateMachineBehaviours: - - {fileID: 2569663486387394592} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: b79ec9865705bd44f9faabad23644aa4, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1107 &-5219735088411767839 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Base Layer - m_ChildStates: [] - m_ChildStateMachines: [] - m_AnyStateTransitions: [] - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 0} ---- !u!1101 &-3774455353007183083 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: IsLocal - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 3138549469001800764} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!91 &9100000 -AnimatorController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Invisible FX - serializedVersion: 5 - m_AnimatorParameters: - - m_Name: Invisible - m_Type: 4 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: InvisibleRemote - m_Type: 4 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: IsOnFriendsList - m_Type: 4 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: IsLocal - m_Type: 4 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - m_AnimatorLayers: - - serializedVersion: 5 - m_Name: Base Layer - m_StateMachine: {fileID: -5219735088411767839} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} - - serializedVersion: 5 - m_Name: Set InvisRemote - m_StateMachine: {fileID: -7831323369560185897} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} ---- !u!114 &2569663486387394592 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -706344726, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - parameters: - - type: 0 - name: InvisibleRemote - source: - value: 1 - valueMin: 0 - valueMax: 0 - chance: 0 - convertRange: 0 - sourceMin: 0 - sourceMax: 0 - destMin: 0 - destMax: 0 - localOnly: 0 - debugString: ---- !u!1102 &3138549469001800764 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Idle - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: 3239796703156259868} - m_StateMachineBehaviours: - - {fileID: 6113640900114223699} - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: b79ec9865705bd44f9faabad23644aa4, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1101 &3239796703156259868 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Invisible - m_EventTreshold: 0 - - m_ConditionMode: 2 - m_ConditionEvent: IsLocal - m_EventTreshold: 0 - - m_ConditionMode: 2 - m_ConditionEvent: IsOnFriendsList - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -5476205041597225641} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.0000000013601877 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &3471562930407511474 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: Invisible - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 3138549469001800764} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!114 &6113640900114223699 -MonoBehaviour: - m_ObjectHideFlags: 1 - 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: -706344726, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - parameters: - - type: 0 - name: InvisibleRemote - source: - value: 0 - valueMin: 0 - valueMax: 0 - chance: 0 - convertRange: 0 - sourceMin: 0 - sourceMax: 0 - destMin: 0 - destMax: 0 - localOnly: 0 - debugString: ---- !u!1101 &6724418095391302561 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: IsOnFriendsList - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 3138549469001800764} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 diff --git a/Moderation Toolkit/Invisible/Invisible FX.controller.meta b/Moderation Toolkit/Invisible/Invisible FX.controller.meta deleted file mode 100644 index dd71b3d..0000000 --- a/Moderation Toolkit/Invisible/Invisible FX.controller.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b7aa586cce03bae40abad72be7af208e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 9100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/Invisible Params.asset b/Moderation Toolkit/Invisible/Invisible Params.asset deleted file mode 100644 index e274316..0000000 --- a/Moderation Toolkit/Invisible/Invisible Params.asset +++ /dev/null @@ -1,26 +0,0 @@ -%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: -1506855854, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: Invisible Params - m_EditorClassIdentifier: - isEmpty: 0 - parameters: - - name: Invisible - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 1 - - name: InvisibleRemote - valueType: 2 - saved: 0 - defaultValue: 0 - networkSynced: 1 diff --git a/Moderation Toolkit/Invisible/Invisible Params.asset.meta b/Moderation Toolkit/Invisible/Invisible Params.asset.meta deleted file mode 100644 index cff0dd2..0000000 --- a/Moderation Toolkit/Invisible/Invisible Params.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a27cf3a54436d2d44a2a984c617c39f5 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab b/Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab deleted file mode 100644 index 86fcc2c..0000000 --- a/Moderation Toolkit/Invisible/Invisible Toggle - READ SETUP.prefab +++ /dev/null @@ -1,308 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1479440316466235434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8243039990407949806} - - component: {fileID: 4745843038337549744} - - component: {fileID: 2597030702768941624} - m_Layer: 0 - m_Name: AlwaysShow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8243039990407949806 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1479440316466235434} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -0.0365, z: 0} - m_LocalScale: {x: 0.0001, y: 0.0001, z: 0.0001} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 4582736907970903416} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4745843038337549744 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1479440316466235434} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &2597030702768941624 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1479440316466235434} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: e5e56919724453948ab703cd5d0cd5fd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &2554665527660486042 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4582736907970903416} - - component: {fileID: 2143511496118359044} - - component: {fileID: 9068299591713625195} - m_Layer: 0 - m_Name: Invisible Toggle - READ SETUP - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4582736907970903416 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2554665527660486042} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 8243039990407949806} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2143511496118359044 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2554665527660486042} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1172.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1818413187195470221 - references: - version: 2 - RefIds: - - rid: 1818413187195470221 - type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 4 - controllers: - - controller: - version: 1 - fileID: 0 - guid: - id: b7aa586cce03bae40abad72be7af208e|Assets/! lillithkt/Moderation Toolkit/Invisible/Invisible - FX.controller - objRef: {fileID: 9100000, guid: b7aa586cce03bae40abad72be7af208e, type: 2} - type: 5 - menus: [] - prms: - - parameters: - version: 1 - fileID: 0 - guid: - id: a27cf3a54436d2d44a2a984c617c39f5|Assets/! lillithkt/Moderation Toolkit/Invisible/Invisible - Params.asset - objRef: {fileID: 11400000, guid: a27cf3a54436d2d44a2a984c617c39f5, type: 2} - smoothedPrms: [] - globalParams: - - Invisible - - InvisibleRemote - - IsOnFriendsList - - IsLocal - allNonsyncedAreGlobal: 0 - ignoreSaved: 0 - toggleParam: - rootObjOverride: {fileID: 0} - rootBindingsApplyToAvatar: 0 - rewriteBindings: [] - allowMissingAssets: 0 - injectSpsDepthParam: - injectSpsVelocityParam: - controller: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - menu: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - parameters: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - submenu: - removePrefixes: [] - addPrefix: - useSecurityForToggle: 0 ---- !u!114 &9068299591713625195 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2554665527660486042} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1172.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1818413187195470103 - references: - version: 2 - RefIds: - - rid: 1818413187195470103 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Moderation/Invisible - state: - actions: - - rid: 1818413187195470144 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 0 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: - - rid: 1818413187195470128 - hasTransition: 0 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 0 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 1 - globalParam: Invisible - holdButton: 0 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 1818413187195470128 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 0} - affectAllMeshes: 1 - propertyName: _Color - propertyType: 1 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 0, b: 0, a: 1} - - rid: 1818413187195470144 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 0} - affectAllMeshes: 1 - propertyName: _Color - propertyType: 1 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 0, b: 0, a: 1} diff --git a/Moderation Toolkit/Invisible/Invisible.shader b/Moderation Toolkit/Invisible/Invisible.shader deleted file mode 100644 index 2936de5..0000000 --- a/Moderation Toolkit/Invisible/Invisible.shader +++ /dev/null @@ -1,15 +0,0 @@ -Shader "Moderation/Invisible" -{ - SubShader - { - Pass - { - CGPROGRAM - #pragma vertex empty - #pragma fragment empty - #include "UnityCG.cginc" - void empty() {} - ENDCG - } - } -} diff --git a/Moderation Toolkit/Invisible/Invisible.shader.meta b/Moderation Toolkit/Invisible/Invisible.shader.meta deleted file mode 100644 index fbf6d1f..0000000 --- a/Moderation Toolkit/Invisible/Invisible.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 5d9f7bd2430e335458d8bbbc102de1e1 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/_empty.anim b/Moderation Toolkit/Invisible/_empty.anim deleted file mode 100644 index 7637042..0000000 --- a/Moderation Toolkit/Invisible/_empty.anim +++ /dev/null @@ -1,53 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!74 &7400000 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: _empty - serializedVersion: 7 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: [] - m_ScaleCurves: [] - m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: [] - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 1 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: [] - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 0 - m_HasMotionFloatCurves: 0 - m_Events: [] diff --git a/Moderation Toolkit/Invisible/_empty.anim.meta b/Moderation Toolkit/Invisible/_empty.anim.meta deleted file mode 100644 index 968dcf0..0000000 --- a/Moderation Toolkit/Invisible/_empty.anim.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b79ec9865705bd44f9faabad23644aa4 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 7400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/black32.png b/Moderation Toolkit/Invisible/black32.png deleted file mode 100644 index 35e8d9b..0000000 Binary files a/Moderation Toolkit/Invisible/black32.png and /dev/null differ diff --git a/Moderation Toolkit/Invisible/black32.png.meta b/Moderation Toolkit/Invisible/black32.png.meta deleted file mode 100644 index 3c85f42..0000000 --- a/Moderation Toolkit/Invisible/black32.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 349b68600cbbac4478155d482306f7cc -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/invis.mat b/Moderation Toolkit/Invisible/invis.mat deleted file mode 100644 index 473fedf..0000000 --- a/Moderation Toolkit/Invisible/invis.mat +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: invis - m_Shader: {fileID: 4800000, guid: 5d9f7bd2430e335458d8bbbc102de1e1, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - 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: 349b68600cbbac4478155d482306f7cc, 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_Ints: [] - 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 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Moderation Toolkit/Invisible/invis.mat.meta b/Moderation Toolkit/Invisible/invis.mat.meta deleted file mode 100644 index a5a8451..0000000 --- a/Moderation Toolkit/Invisible/invis.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e5e56919724453948ab703cd5d0cd5fd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/quest invis.mat b/Moderation Toolkit/Invisible/quest invis.mat deleted file mode 100644 index d27d517..0000000 --- a/Moderation Toolkit/Invisible/quest invis.mat +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: quest invis - m_Shader: {fileID: 4800000, guid: 9200bec112b65ec4fbbbd33fa89c20f4, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - 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: 349b68600cbbac4478155d482306f7cc, 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_Ints: [] - 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 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Moderation Toolkit/Invisible/quest invis.mat.meta b/Moderation Toolkit/Invisible/quest invis.mat.meta deleted file mode 100644 index 2320a35..0000000 --- a/Moderation Toolkit/Invisible/quest invis.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 744f98bd72211cd46a60f5dfa6ec4f84 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/setup impostor.png b/Moderation Toolkit/Invisible/setup impostor.png deleted file mode 100644 index 1d5cfad..0000000 Binary files a/Moderation Toolkit/Invisible/setup impostor.png and /dev/null differ diff --git a/Moderation Toolkit/Invisible/setup impostor.png.meta b/Moderation Toolkit/Invisible/setup impostor.png.meta deleted file mode 100644 index d44910a..0000000 --- a/Moderation Toolkit/Invisible/setup impostor.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 1e676babe7acc2741ada83aec27c1115 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/setup.png b/Moderation Toolkit/Invisible/setup.png deleted file mode 100644 index 55390a8..0000000 Binary files a/Moderation Toolkit/Invisible/setup.png and /dev/null differ diff --git a/Moderation Toolkit/Invisible/setup.png.meta b/Moderation Toolkit/Invisible/setup.png.meta deleted file mode 100644 index 37575ff..0000000 --- a/Moderation Toolkit/Invisible/setup.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: d14a04ac3e11acc498547bdaa55495e8 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Invisible/setup.txt b/Moderation Toolkit/Invisible/setup.txt deleted file mode 100644 index f9d869a..0000000 --- a/Moderation Toolkit/Invisible/setup.txt +++ /dev/null @@ -1,6 +0,0 @@ -create a vrcfury toggle on the root of your avatar that follows the structure of setup.png - -for quest, change the material of the AlwaysShow object to the quest invis material - -if you would like your impostor to be invisible, place the VRCImpostorSettings component on your avatar root and add everything to ignored transforms -see "setup impostor.png" for an example \ No newline at end of file diff --git a/Moderation Toolkit/Keybind Prefabs.meta b/Moderation Toolkit/Keybind Prefabs.meta deleted file mode 100644 index 7f990ae..0000000 --- a/Moderation Toolkit/Keybind Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 24de212a46c514646b5d04ebe1dfa395 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab b/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab deleted file mode 100644 index 657f827..0000000 --- a/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab +++ /dev/null @@ -1,224 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &6667526059442258137 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 324223086297402364, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_Name - value: IkeHud Astral - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3683154404670319890, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4286954533968518729, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5093139689808635344, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5470642297624394295, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: cachedExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5470642297624394295, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6393878351333368133, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: cachedExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6393878351333368133, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 7613312378549862579, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - - {fileID: 2769584058788660028, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - insertIndex: -1 - addedObject: {fileID: 2459264407843859199} - - targetCorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - insertIndex: -1 - addedObject: {fileID: 2510541009628165955} - m_SourcePrefab: {fileID: 100100000, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} ---- !u!1 &6285149452133142489 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3} - m_PrefabInstance: {fileID: 6667526059442258137} - m_PrefabAsset: {fileID: 0} ---- !u!114 &2459264407843859199 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6285149452133142489} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1151.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1466765678302461952 - references: - version: 2 - RefIds: - - rid: 1466765678302461952 - type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 4 - controllers: - - controller: - version: 1 - fileID: 0 - guid: - id: ac79ce810203c54429f4666ebd235d6b|Assets/Ikeiwa/IkeHUD/Assets/Huds/Astral/Animations/FXHudAnimator_Astral.controller - objRef: {fileID: 9100000, guid: ac79ce810203c54429f4666ebd235d6b, type: 2} - type: 5 - menus: - - menu: - version: 1 - fileID: 0 - guid: - id: ec02051e86d6f1c4890f4f3cd768208f|Assets/Ikeiwa/IkeHUD/Assets/VRC/HUDMainSubMenu.asset - objRef: {fileID: 11400000, guid: ec02051e86d6f1c4890f4f3cd768208f, type: 2} - prefix: Moderation/HUD - prms: - - parameters: - version: 1 - fileID: 0 - guid: - id: 20a518ab23a96d14fb38efc6c1e50f23|Assets/Ikeiwa/IkeHUD/Assets/VRC/HUDParameters.asset - objRef: {fileID: 11400000, guid: 20a518ab23a96d14fb38efc6c1e50f23, type: 2} - smoothedPrms: [] - globalParams: - - HUDSettings/State/HUDEnabled - - HUDSettings/Contacts/HUDEnabled - - HUDSettings/State/Overlay - allNonsyncedAreGlobal: 0 - ignoreSaved: 0 - toggleParam: - rootObjOverride: {fileID: 0} - rootBindingsApplyToAvatar: 0 - rewriteBindings: [] - allowMissingAssets: 0 - injectSpsDepthParam: - injectSpsVelocityParam: - controller: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - menu: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - parameters: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - submenu: - removePrefixes: [] - addPrefix: - useSecurityForToggle: 0 ---- !u!114 &2510541009628165955 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6285149452133142489} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1151.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1466765691889123354 - references: - version: 2 - RefIds: - - rid: 1466765691889123354 - type: {class: SetIcon, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 1 - path: Moderation/HUD - icon: - version: 1 - fileID: 0 - guid: - id: fb8f30e51da45ae47883215767ea0191|Assets/Ikeiwa/IkeHUD/Assets/Textures/Icons/Icon_HUD.png - objRef: {fileID: 2800000, guid: fb8f30e51da45ae47883215767ea0191, type: 3} diff --git a/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab.meta b/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab.meta deleted file mode 100644 index 45dba7b..0000000 --- a/Moderation Toolkit/Keybind Prefabs/IkeHud Astral.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 829ab82f8aad0fb4ca4b80224a906219 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybinds App.meta b/Moderation Toolkit/Keybinds App.meta deleted file mode 100644 index b91a70c..0000000 --- a/Moderation Toolkit/Keybinds App.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 577356396febec949b7762d7c8af5e64 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll b/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll deleted file mode 100644 index b6807fb..0000000 Binary files a/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll and /dev/null differ diff --git a/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll.meta b/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll.meta deleted file mode 100644 index ff9e6b4..0000000 --- a/Moderation Toolkit/Keybinds App/JNativeHook.x86_64.dll.meta +++ /dev/null @@ -1,27 +0,0 @@ -fileFormatVersion: 2 -guid: d3213f951fff05d45baca623f92279a5 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybinds App/README.txt b/Moderation Toolkit/Keybinds App/README.txt deleted file mode 100644 index 3fd5e24..0000000 --- a/Moderation Toolkit/Keybinds App/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -This doesnt have to stay in your avatar's files, you can freely move this wherever and delete the .meta files -Be sure you have java installed! \ No newline at end of file diff --git a/Moderation Toolkit/Keybinds App/config.txt b/Moderation Toolkit/Keybinds App/config.txt deleted file mode 100644 index f396b91..0000000 --- a/Moderation Toolkit/Keybinds App/config.txt +++ /dev/null @@ -1,35 +0,0 @@ -# These are lillith's settings for keybinds -# everything can be explained by the line above it starting with a hashtag - - -### Config -cfg onlyWhenFocused VRChat - - - -### Fly Stuff -# Fly -f /avatar/parameters/Go/VRCEmote int 123 0 -# Speed up -hold-g /avatar/parameters/Go/VRCEmote int 122 123 10 -hold-g /avatar/parameters/Go/Float float 0.1 0 -# Fly Up -hold-e /avatar/parameters/Go/VRCEmote int 121 123 10 -hold-e /avatar/parameters/Go/Float float 1 0 -# Fly Down -hold-q /avatar/parameters/Go/VRCEmote int 121 123 10 -hold-q /avatar/parameters/Go/Float float -1 0 -# Drop -hold-ctrl /avatar/parameters/Go/VRCEmote int 120 0 - -# Dash -b /avatar/parameters/Go/Dash bool true false - -### Overlay -# Xray -x /avatar/parameters/HUDSettings/State/Overlay int 3 0 -# Overlay Toggle -h /avatar/parameters/HUDSettings/State/HUDEnabled bool true false - -# Invisible -t /avatar/parameters/Invisible bool true false \ No newline at end of file diff --git a/Moderation Toolkit/Keybinds App/config.txt.meta b/Moderation Toolkit/Keybinds App/config.txt.meta deleted file mode 100644 index c970d0e..0000000 --- a/Moderation Toolkit/Keybinds App/config.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1d1e1436a07aac846bf90c44b6481b9e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybinds App/oschotkey.jar b/Moderation Toolkit/Keybinds App/oschotkey.jar deleted file mode 100644 index c28ff41..0000000 Binary files a/Moderation Toolkit/Keybinds App/oschotkey.jar and /dev/null differ diff --git a/Moderation Toolkit/Keybinds App/oschotkey.jar.meta b/Moderation Toolkit/Keybinds App/oschotkey.jar.meta deleted file mode 100644 index fa718e0..0000000 --- a/Moderation Toolkit/Keybinds App/oschotkey.jar.meta +++ /dev/null @@ -1,32 +0,0 @@ -fileFormatVersion: 2 -guid: 1c64221514ffa4042a677cd672446cab -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Android: Android - second: - enabled: 1 - settings: {} - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Keybinds App/start.bat b/Moderation Toolkit/Keybinds App/start.bat deleted file mode 100644 index 98ea4b5..0000000 --- a/Moderation Toolkit/Keybinds App/start.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -java -jar oschotkey.jar \ No newline at end of file diff --git a/Moderation Toolkit/Keybinds App/start.bat.meta b/Moderation Toolkit/Keybinds App/start.bat.meta deleted file mode 100644 index 3ee4697..0000000 --- a/Moderation Toolkit/Keybinds App/start.bat.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 65fc178b23f38734394ad07fea9fbc01 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Moderation Toolkit/Moderation Toolkit.prefab b/Moderation Toolkit/Moderation Toolkit.prefab deleted file mode 100644 index 8d97a5e..0000000 --- a/Moderation Toolkit/Moderation Toolkit.prefab +++ /dev/null @@ -1,287 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &7625651678937746019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3158511815814390575} - m_Layer: 0 - m_Name: Moderation Toolkit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3158511815814390575 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7625651678937746019} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 5719787337179330627} - - {fileID: 5504848009119855796} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &205712006600767900 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 3158511815814390575} - m_Modifications: - - target: {fileID: 305208914515747228, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: cachedExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 305208914515747228, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1687846764823427822, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: cachedExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1687846764823427822, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: latestValidExecutionGroupIndex - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.x - value: 0.37546676 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.y - value: 0.7716029 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.z - value: 0.021913134 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.w - value: 0.70822394 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.x - value: -0.02288656 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1837462624854957557, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.z - value: 0.70561683 - objectReference: {fileID: 0} - - target: {fileID: 2436800006461616050, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.y - value: 0.63684595 - objectReference: {fileID: 0} - - target: {fileID: 2436800006461616050, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.z - value: 0.07111714 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.x - value: -0.37546661 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.y - value: 0.77160305 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.z - value: 0.021913134 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.w - value: 0.70822364 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.x - value: -0.02288705 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2517208269194639490, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7056171 - objectReference: {fileID: 0} - - target: {fileID: 3308335658331129001, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.y - value: 0.63684595 - objectReference: {fileID: 0} - - target: {fileID: 3308335658331129001, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.z - value: 0.07111714 - objectReference: {fileID: 0} - - target: {fileID: 4565279516447570892, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4565279516447570892, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4565279516447570892, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6110692307428899901, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6110692307428899901, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6110692307428899901, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6285149452133142489, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_Name - value: HUD - DELETE IF YOU DONT OWN IKEHUD ASTRAL - objectReference: {fileID: 0} - - target: {fileID: 6372885075482087061, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6372885075482087061, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6372885075482087061, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8358563487365533079, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} ---- !u!4 &5719787337179330627 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 5600808592721658335, guid: 829ab82f8aad0fb4ca4b80224a906219, type: 3} - m_PrefabInstance: {fileID: 205712006600767900} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &8357556068623550924 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 3158511815814390575} - m_Modifications: - - target: {fileID: 2554665527660486042, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_Name - value: Invisible Toggle - READ SETUP - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} ---- !u!4 &5504848009119855796 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 4582736907970903416, guid: 5a814aef6bf84b74ebb28f705f84a8ef, type: 3} - m_PrefabInstance: {fileID: 8357556068623550924} - m_PrefabAsset: {fileID: 0} diff --git a/Moderation Toolkit/Moderation Toolkit.prefab.meta b/Moderation Toolkit/Moderation Toolkit.prefab.meta deleted file mode 100644 index 9d6bbb9..0000000 --- a/Moderation Toolkit/Moderation Toolkit.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 63d9e3b4d7e308a479a35c4f3eab913e -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings.meta b/Partner Rings.meta deleted file mode 100644 index 7d8a565..0000000 --- a/Partner Rings.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1387dc090b2c85146a17aa9821adc405 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/Alexis.prefab b/Partner Rings/Alexis.prefab deleted file mode 100644 index e02a7d5..0000000 --- a/Partner Rings/Alexis.prefab +++ /dev/null @@ -1,75 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &5940533295420471432 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.size - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_nikki - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[1] - value: _lillithmadering1_lillith - objectReference: {fileID: 0} - - target: {fileID: 5763123744479265517, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_alexis - objectReference: {fileID: 0} - - target: {fileID: 6962503265330231481, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_Name - value: Alexis - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} diff --git a/Partner Rings/Alexis.prefab.meta b/Partner Rings/Alexis.prefab.meta deleted file mode 100644 index cbd07d1..0000000 --- a/Partner Rings/Alexis.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: fb42e40e532466e4ca67d1b4d089b59a -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/Lillith.prefab b/Partner Rings/Lillith.prefab deleted file mode 100644 index 770554d..0000000 --- a/Partner Rings/Lillith.prefab +++ /dev/null @@ -1,91 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &7874133636203543029 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.size - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_alexis - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[1] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[2] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[3] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[4] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[5] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 5763123744479265517, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_lillith - objectReference: {fileID: 0} - - target: {fileID: 6962503265330231481, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_Name - value: Lillith - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} diff --git a/Partner Rings/Lillith.prefab.meta b/Partner Rings/Lillith.prefab.meta deleted file mode 100644 index f4abefe..0000000 --- a/Partner Rings/Lillith.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b512c3a9f75b47c479d3797d1acc4859 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/Luc.prefab b/Partner Rings/Luc.prefab deleted file mode 100644 index b894928..0000000 --- a/Partner Rings/Luc.prefab +++ /dev/null @@ -1,107 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &5517967427165457112 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1277609284044999512, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: materialMappings.Array.data[0].originalMaterial - value: - objectReference: {fileID: 2100000, guid: b0e3c1a429faf324c9fe3c6e6f9f8c41, type: 2} - - target: {fileID: 1277609284044999512, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: materialMappings.Array.data[0].replacementMaterial - value: - objectReference: {fileID: 2100000, guid: 590c209bdd18b5d4580bbfea36a80650, type: 2} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2528520057281335175, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2851012938517550906, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_moxx - objectReference: {fileID: 0} - - target: {fileID: 5763123744479265517, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: collisionTags.Array.data[0] - value: _lillithmadering1_luc - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalScale.x - value: 0.97585547 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalScale.y - value: 0.97585547 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalScale.z - value: 0.89162934 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.x - value: -0.3112 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.y - value: 0.5453 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_LocalPosition.z - value: 0.0049924 - objectReference: {fileID: 0} - - target: {fileID: 6242401501758014003, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_ConstrainProportionsScale - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6962503265330231481, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_Name - value: Luc - objectReference: {fileID: 0} - - target: {fileID: 8984825018520937450, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: b0e3c1a429faf324c9fe3c6e6f9f8c41, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 40ffa843ba1a3954dadc29926ec99f03, type: 3} diff --git a/Partner Rings/Luc.prefab.meta b/Partner Rings/Luc.prefab.meta deleted file mode 100644 index 52fa96b..0000000 --- a/Partner Rings/Luc.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 92d2d543cfa29824daf57f4ab5db0a61 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/Ring Base.prefab b/Partner Rings/Ring Base.prefab deleted file mode 100644 index 355e867..0000000 --- a/Partner Rings/Ring Base.prefab +++ /dev/null @@ -1,680 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3937951549470692353 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3288363047902143512} - - component: {fileID: 561103582503205400} - - component: {fileID: 8984825018520937450} - m_Layer: 0 - m_Name: Diamond - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3288363047902143512 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3937951549470692353} - serializedVersion: 2 - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: -0.0024, y: 0.01108, z: -0.00006} - m_LocalScale: {x: 3.7446017, y: 3.7446017, z: 3.7446017} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 6242401501758014003} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &561103582503205400 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3937951549470692353} - m_Mesh: {fileID: 2401994324257950250, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &8984825018520937450 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3937951549470692353} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 971bf16b6df45604da62c56710901cec, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &6810546127436942832 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6737952364526504297} - - component: {fileID: 3496433574293859618} - - component: {fileID: 6185878812532781970} - m_Layer: 0 - m_Name: Ring - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6737952364526504297 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6810546127436942832} - serializedVersion: 2 - m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: -0.49999997} - m_LocalPosition: {x: -0.0025259, y: 0.0042619063, z: -0.000049344264} - m_LocalScale: {x: 0.62148726, y: 0.6584176, z: 0.6499514} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6242401501758014003} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3496433574293859618 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6810546127436942832} - m_Mesh: {fileID: -8264766115119967290, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &6185878812532781970 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6810546127436942832} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 86b2fb72365f08e43bf2a41f7eed62b8, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &6962503265330231481 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2528520057281335175} - m_Layer: 0 - m_Name: Ring Base - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2528520057281335175 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6962503265330231481} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 6242401501758014003} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7024342707410059764 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3969496801509277108} - - component: {fileID: 9047854384118646328} - - component: {fileID: 8370688024745444484} - m_Layer: 0 - m_Name: Heart - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3969496801509277108 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7024342707410059764} - serializedVersion: 2 - m_LocalRotation: {x: 0.00000001545431, y: -0.70710677, z: 0.00000001545431, w: 0.7071068} - m_LocalPosition: {x: -0.0040071947, y: 0.0116535975, z: -0.000012806617} - m_LocalScale: {x: 0.5491373, y: 0.5491373, z: 0.5491373} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 6242401501758014003} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &9047854384118646328 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7024342707410059764} - m_Mesh: {fileID: -3676728085192693422, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &8370688024745444484 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7024342707410059764} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 18116ce44ea88da43a3fc0a1718711c3, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &7071790930949967097 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3247715438114519272} - - component: {fileID: 2223502911068685051} - - component: {fileID: 5763123744479265517} - - component: {fileID: 2851012938517550906} - m_Layer: 0 - m_Name: Partner Contacts - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3247715438114519272 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7071790930949967097} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 6242401501758014003} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2223502911068685051 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7071790930949967097} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1252.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 50338494666768414 - references: - version: 2 - RefIds: - - rid: 50338494666768414 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: - state: - actions: - - rid: 50338494666768417 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 0 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: - - rid: 50338494666768416 - transitionStateOut: - actions: [] - transitionTimeIn: 0.5 - transitionTimeOut: 0.5 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 1 - globalParam: _lillithmadering1 - holdButton: 0 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 50338494666768416 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 1 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _EmissionStrength - propertyType: 0 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 50338494666768417 - type: {class: SmoothLoopAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 0 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - state1: - actions: - - rid: 50338494666768418 - - rid: 1818413369507185203 - - rid: 3971698104646500516 - state2: - actions: - - rid: 50338494666768419 - - rid: 1818413369507185204 - - rid: 3971698104646500517 - loopTime: 3 - - rid: 50338494666768418 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 1 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _EmissionStrength - propertyType: 0 - value: 0.3 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 50338494666768419 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 1 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _EmissionStrength - propertyType: 0 - value: 1.3 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 1818413369507185203 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 1 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _Color - propertyType: 1 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 1818413369507185204 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 1 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _Color - propertyType: 1 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 3971698104646500516 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 0 - androidActive: 1 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _EmissionStrength - propertyType: 0 - value: 0 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} - - rid: 3971698104646500517 - type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 2 - desktopActive: 0 - androidActive: 1 - localOnly: 0 - remoteOnly: 0 - renderer: {fileID: 0} - renderer2: {fileID: 3937951549470692353} - affectAllMeshes: 0 - propertyName: _EmissionStrength - propertyType: 0 - value: 2 - valueVector: {x: 0, y: 0, z: 0, w: 0} - valueColor: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &5763123744479265517 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7071790930949967097} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -802764141, guid: 80f1b8067b0760e4bb45023bc2e9de66, type: 3} - m_Name: - m_EditorClassIdentifier: - rootTransform: {fileID: 0} - shapeType: 0 - radius: 9999 - height: 2 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - localOnly: 0 - collisionTags: - - _lillithmadering1_yourname ---- !u!114 &2851012938517550906 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7071790930949967097} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1450912254, guid: 80f1b8067b0760e4bb45023bc2e9de66, type: 3} - m_Name: - m_EditorClassIdentifier: - rootTransform: {fileID: 0} - shapeType: 0 - radius: 99999 - height: 2 - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - localOnly: 0 - collisionTags: - - _lillithmadering1_partnernameshere - allowSelf: 0 - allowOthers: 1 - receiverType: 0 - parameter: _lillithmadering1 - minVelocity: 0.05 ---- !u!1 &8289865236441300714 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6242401501758014003} - - component: {fileID: 2043260039606384428} - - component: {fileID: 1277609284044999512} - m_Layer: 0 - m_Name: Ring - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6242401501758014003 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8289865236441300714} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.32003, y: 0.52243, z: -0.033796} - m_LocalScale: {x: 1.0889996, y: 1.0889996, z: 1.0889996} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 3288363047902143512} - - {fileID: 3969496801509277108} - - {fileID: 6737952364526504297} - - {fileID: 3247715438114519272} - m_Father: {fileID: 2528520057281335175} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2043260039606384428 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8289865236441300714} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1252.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 1818413553661772022 - references: - version: 2 - RefIds: - - rid: 1818413553661772022 - type: {class: ArmatureLink, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 7 - propBone: {fileID: 8289865236441300714} - linkTo: - - useBone: 1 - bone: 33 - useObj: 0 - obj: {fileID: 0} - offset: - removeBoneSuffix: - removeParentConstraints: 1 - forceMergedName: - forceOneWorldScale: 0 - recursive: 0 - alignPosition: 0 - alignRotation: 0 - alignScale: 0 - autoScaleFactor: 1 - scalingFactorPowersOf10Only: 1 - skinRewriteScalingFactor: 1 - useOptimizedUpload: 0 - useBoneMerging: 0 - keepBoneOffsets: 0 - physbonesOnAvatarBones: 0 - boneOnAvatar: 0 - bonePathOnAvatar: - fallbackBones: - keepBoneOffsets2: 0 - linkMode: 4 ---- !u!114 &1277609284044999512 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8289865236441300714} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bbe45f5e73194bc42befaa923565ddd9, type: 3} - m_Name: - m_EditorClassIdentifier: - materialMappings: - - originalMaterial: {fileID: 2100000, guid: 971bf16b6df45604da62c56710901cec, type: 2} - replacementMaterial: {fileID: 2100000, guid: e25d135610fa8174180a73538208f7d0, type: 2} - - originalMaterial: {fileID: 2100000, guid: 18116ce44ea88da43a3fc0a1718711c3, type: 2} - replacementMaterial: {fileID: 2100000, guid: 09daf894df69a014ba2a4dd01644a8f3, type: 2} - - originalMaterial: {fileID: 2100000, guid: 86b2fb72365f08e43bf2a41f7eed62b8, type: 2} - replacementMaterial: {fileID: 2100000, guid: f12dee37b7d4657478e9d512819bbf5d, type: 2} diff --git a/Partner Rings/Ring Base.prefab.meta b/Partner Rings/Ring Base.prefab.meta deleted file mode 100644 index 06dc9a8..0000000 --- a/Partner Rings/Ring Base.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 40ffa843ba1a3954dadc29926ec99f03 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal.meta b/Partner Rings/internal.meta deleted file mode 100644 index 47611f3..0000000 --- a/Partner Rings/internal.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 704665eadc79e744c9825d7aa0a0df28 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Engagement Rings.prefab b/Partner Rings/internal/Engagement Rings.prefab deleted file mode 100644 index 48c9309..0000000 --- a/Partner Rings/internal/Engagement Rings.prefab +++ /dev/null @@ -1,285 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &153457945204543235 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7779892699070036010} - - component: {fileID: 2673577406947864331} - - component: {fileID: 5934383750061650141} - m_Layer: 0 - m_Name: Heart - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7779892699070036010 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 153457945204543235} - serializedVersion: 2 - m_LocalRotation: {x: 0.00000001545431, y: -0.70710677, z: 0.00000001545431, w: 0.7071068} - m_LocalPosition: {x: -0.5401611, y: 1.057665, z: -0.009569788} - m_LocalScale: {x: 0.5491373, y: 0.5491373, z: 0.5491373} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4577571971520933121} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2673577406947864331 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 153457945204543235} - m_Mesh: {fileID: -3676728085192693422, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &5934383750061650141 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 153457945204543235} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 18116ce44ea88da43a3fc0a1718711c3, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &743522052790028370 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1647345137903177299} - - component: {fileID: 4743021160310469229} - - component: {fileID: 7783359133505441057} - m_Layer: 0 - m_Name: Diamond - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1647345137903177299 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 743522052790028370} - serializedVersion: 2 - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} - m_LocalPosition: {x: -0.5385539, y: 1.0570914, z: -0.009616993} - m_LocalScale: {x: 3.7446017, y: 3.7446017, z: 3.7446017} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 4577571971520933121} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4743021160310469229 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 743522052790028370} - m_Mesh: {fileID: 2401994324257950250, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &7783359133505441057 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 743522052790028370} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 971bf16b6df45604da62c56710901cec, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &4722406692725194640 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6290228057367065531} - - component: {fileID: 6400703196083493457} - - component: {fileID: 8578266539662571590} - m_Layer: 0 - m_Name: Ring - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6290228057367065531 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4722406692725194640} - serializedVersion: 2 - m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: -0.49999997} - m_LocalPosition: {x: -0.5386798, y: 1.0502733, z: -0.00960633} - m_LocalScale: {x: 0.62148726, y: 0.6584176, z: 0.6499514} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4577571971520933121} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6400703196083493457 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4722406692725194640} - m_Mesh: {fileID: -8264766115119967290, guid: 181c09d97245f0147a9bb30db067ed34, type: 3} ---- !u!23 &8578266539662571590 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4722406692725194640} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 86b2fb72365f08e43bf2a41f7eed62b8, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &6636847348024164534 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4577571971520933121} - m_Layer: 0 - m_Name: Engagement Rings - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4577571971520933121 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6636847348024164534} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1647345137903177299} - - {fileID: 7779892699070036010} - - {fileID: 6290228057367065531} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Partner Rings/internal/Engagement Rings.prefab.meta b/Partner Rings/internal/Engagement Rings.prefab.meta deleted file mode 100644 index 8c9ab18..0000000 --- a/Partner Rings/internal/Engagement Rings.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a3b92eb270f2ccd44aedae989d4d4575 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/FBX.meta b/Partner Rings/internal/FBX.meta deleted file mode 100644 index 5d244ea..0000000 --- a/Partner Rings/internal/FBX.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f8f42b22d3c7f194797f4fcc4e8fbe14 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/FBX/Engagement Rings.fbx b/Partner Rings/internal/FBX/Engagement Rings.fbx deleted file mode 100644 index a8c9b08..0000000 Binary files a/Partner Rings/internal/FBX/Engagement Rings.fbx and /dev/null differ diff --git a/Partner Rings/internal/FBX/Engagement Rings.fbx.meta b/Partner Rings/internal/FBX/Engagement Rings.fbx.meta deleted file mode 100644 index ecf204b..0000000 --- a/Partner Rings/internal/FBX/Engagement Rings.fbx.meta +++ /dev/null @@ -1,109 +0,0 @@ -fileFormatVersion: 2 -guid: 181c09d97245f0147a9bb30db067ed34 -ModelImporter: - serializedVersion: 22200 - internalIDToNameTable: [] - externalObjects: {} - materials: - materialImportMode: 2 - materialName: 0 - materialSearch: 1 - materialLocation: 1 - animations: - legacyGenerateAnimations: 4 - bakeSimulation: 0 - resampleCurves: 1 - optimizeGameObjects: 0 - removeConstantScaleCurves: 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 - sortHierarchyByName: 1 - importPhysicalCameras: 1 - importVisibility: 1 - importBlendShapes: 1 - importCameras: 1 - importLights: 1 - nodeNameCollisionStrategy: 1 - fileIdsGeneration: 2 - swapUVChannels: 0 - generateSecondaryUV: 0 - useFileUnits: 1 - keepQuads: 0 - weldVertices: 1 - bakeAxisConversion: 0 - preserveHierarchy: 0 - skinWeightsMode: 0 - maxBonesPerVertex: 4 - minBoneWeight: 0.001 - optimizeBones: 1 - meshOptimizationFlags: -1 - indexFormat: 0 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - secondaryUVMarginMethod: 1 - secondaryUVMinLightmapResolution: 40 - secondaryUVMinObjectScale: 1 - secondaryUVPackMargin: 4 - useFileScale: 1 - strictVertexDataChecks: 0 - tangentSpace: - normalSmoothAngle: 60 - normalImportMode: 0 - tangentImportMode: 3 - normalCalculationMode: 4 - legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1 - blendShapeNormalImportMode: 1 - normalSmoothingSource: 0 - referencedClips: [] - importAnimation: 1 - humanDescription: - serializedVersion: 3 - human: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - globalScale: 1 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 2 - humanoidOversampling: 1 - avatarSetup: 0 - addHumanoidExtraRootOnlyWhenUsingAvatar: 1 - importBlendShapeDeformPercent: 1 - remapMaterialsIfMaterialImportModeIsNone: 0 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material.meta b/Partner Rings/internal/Material.meta deleted file mode 100644 index 33954ee..0000000 --- a/Partner Rings/internal/Material.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8acbdefe0666c8f4babf9f49d607ca60 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters.meta b/Partner Rings/internal/Material/Alters.meta deleted file mode 100644 index 8e5fdb2..0000000 --- a/Partner Rings/internal/Material/Alters.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 810d3aeb494982e4db77f833732ee1a1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc.meta b/Partner Rings/internal/Material/Alters/luc.meta deleted file mode 100644 index 3543d45..0000000 --- a/Partner Rings/internal/Material/Alters/luc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e02585296f360e44db8d3bc381e0239b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders.meta b/Partner Rings/internal/Material/Alters/luc/OptimizedShaders.meta deleted file mode 100644 index 579ddfd..0000000 --- a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: efcd9c00db67fe04b90bcb54dae900a5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc.meta b/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc.meta deleted file mode 100644 index 7244694..0000000 --- a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d1f686044269beb41b6f4ad85f0dc884 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader b/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader deleted file mode 100644 index 7708d69..0000000 --- a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader +++ /dev/null @@ -1,8965 +0,0 @@ -Shader "Hidden/Locked/.poiyomi/Old Versions/9.0/Poiyomi Toon/b0e3c1a429faf324c9fe3c6e6f9f8c41" -{ - Properties - { - [HideInInspector] shader_master_label ("Poiyomi 9.0.62", Float) = 0 - [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 - [HideInInspector] shader_locale ("0db0b86376c3dca4b9a6828ef8615fe0", Float) = 0 - [HideInInspector] footer_youtube ("{texture:{name:icon-youtube,height:16},action:{type:URL,data:https://www.youtube.com/poiyomi},hover:YOUTUBE}", Float) = 0 - [HideInInspector] footer_twitter ("{texture:{name:icon-twitter,height:16},action:{type:URL,data:https://twitter.com/poiyomi},hover:TWITTER}", Float) = 0 - [HideInInspector] footer_patreon ("{texture:{name:icon-patreon,height:16},action:{type:URL,data:https://www.patreon.com/poiyomi},hover:PATREON}", Float) = 0 - [HideInInspector] footer_discord ("{texture:{name:icon-discord,height:16},action:{type:URL,data:https://discord.gg/Ays52PY},hover:DISCORD}", Float) = 0 - [HideInInspector] footer_github ("{texture:{name:icon-github,height:16},action:{type:URL,data:https://github.com/poiyomi/PoiyomiToonShader},hover:GITHUB}", Float) = 0 - [Header(POIYOMI SHADER UI FAILED TO LOAD)] - [Header(. This is caused by scripts failing to compile. It can be fixed.)] - [Header(. The inspector will look broken and will not work properly until fixed.)] - [Header(. Please check your console for script errors.)] - [Header(. You can filter by errors in the console window.)] - [Header(. Often the topmost error points to the erroring script.)] - [Space(30)][Header(Common Error Causes)] - [Header(. Installing multiple Poiyomi Shader packages)] - [Header(. Make sure to delete the Poiyomi shader folder before you update Poiyomi.)] - [Header(. If a package came with Poiyomi this is bad practice and can cause issues.)] - [Header(. Delete the package and import it without any Poiyomi components.)] - [Header(. Bad VRCSDK installation (e.g. Both VCC and Standalone))] - [Header(. Delete the VRCSDK Folder in Assets if you are using the VCC.)] - [Header(. Avoid using third party SDKs. They can cause incompatibility.)] - [Header(. Script Errors in other scripts)] - [Header(. Outdated tools or prefabs can cause this.)] - [Header(. Update things that are throwing errors or move them outside the project.)] - [Space(30)][Header(Visit Our Discord to Ask For Help)] - [Space(5)]_ShaderUIWarning0 (" → discord.gg/poiyomi ← We can help you get it fixed! --{condition_showS:(0==1)}", Int) = -0 - [Space(1400)][Header(POIYOMI SHADER UI FAILED TO LOAD)] - _ShaderUIWarning1 ("Please scroll up for more information! --{condition_showS:(0==1)}", Int) = -0 - [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 - [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 1 - [HideInInspector] GeometryShader_Enabled("GEOMETRY SHADER ENABLED", Float) = 1 - [HideInInspector] Tessellation_Enabled("TESSELLATION ENABLED", Float) = 1 - [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:_AlphaForceOpaque=1}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=0}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2460},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.01}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.002}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=4}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=4}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=3}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]} - }]}]}", Int) = 0 - [HideInInspector] m_mainCategory ("Color & Normals--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/main},hover:Documentation}}", Float) = 0 - _Color ("Color & Alpha--{reference_property:_ColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _ColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)]_MainTex ("Texture--{reference_properties:[_MainTexPan, _MainTexUV, _MainPixelMode, _MainTexStochastic]}", 2D) = "white" { } - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MainTexUV ("UV", Int) = 0 - [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ToggleUI]_MainPixelMode ("Pixel Mode", Float) = 0 - [HideInInspector][ToggleUI]_MainTexStochastic ("Stochastic Sampling", Float) = 0 - [Normal]_BumpMap ("Normal Map--{reference_properties:[_BumpMapPan, _BumpMapUV, _BumpScale, _BumpMapStochastic]}", 2D) = "bump" { } - [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _BumpMapUV ("UV", Int) = 0 - [HideInInspector]_BumpScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector][ToggleUI]_BumpMapStochastic ("Stochastic Sampling", Float) = 0 - [sRGBWarning]_AlphaMask ("Alpha Map--{reference_properties:[_AlphaMaskPan, _AlphaMaskUV, _AlphaMaskInvert, _MainAlphaMaskMode, _AlphaMaskBlendStrength, _AlphaMaskValue], alts:[_AlphaMap]}", 2D) = "white" { } - [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _AlphaMaskUV ("UV", Int) = 0 - [HideInInspector][ThryWideEnum(Off, 0, Replace, 1, Multiply, 2, Add, 3, Subtract, 4)]_MainAlphaMaskMode ("Blend Mode", Int) = 2 - [HideInInspector]_AlphaMaskBlendStrength ("Blend Strength", Float) = 1 - [HideInInspector]_AlphaMaskValue ("Blend Offset", Float) = 0 - [HideInInspector][ToggleUI]_AlphaMaskInvert ("Invert", Float) = 0 - _Cutoff ("Alpha Cutoff", Range(0, 1.001)) = 0.5 - [HideInInspector] m_start_Alpha ("Alpha Options--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/alpha-options},hover:Documentation}}", Float) = 0 - [ToggleUI]_AlphaForceOpaque ("Force Opaque", Float) = 1 - _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _AlphaGlobalMask ("Global Mask--{reference_property:_AlphaGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _AlphaGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 - [HideInInspector] m_lightingCategory ("Shading", Float) = 0 - [HideInInspector] m_start_PoiLightData ("Light Data--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/light-data},hover:Documentation}}", Float) = 0 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingAOMaps ("AO Maps (expand)--{reference_properties:[_LightingAOMapsPan, _LightingAOMapsUV,_LightDataAOStrengthR,_LightDataAOStrengthG,_LightDataAOStrengthB,_LightDataAOStrengthA, _LightDataAOGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingAOMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingAOMapsUV ("UV", Int) = 0 - [HideInInspector]_LightDataAOStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightDataAOStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataAOGlobalMaskR ("Global Mask--{reference_property:_LightDataAOGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataAOGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingDetailShadowMaps ("Shadow Map (expand)--{reference_properties:[_LightingDetailShadowMapsPan, _LightingDetailShadowMapsUV,_LightingDetailShadowStrengthR,_LightingDetailShadowStrengthG,_LightingDetailShadowStrengthB,_LightingDetailShadowStrengthA,_LightingAddDetailShadowStrengthR,_LightingAddDetailShadowStrengthG,_LightingAddDetailShadowStrengthB,_LightingAddDetailShadowStrengthA, _LightDataDetailShadowGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingDetailShadowMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingDetailShadowMapsUV ("UV", Int) = 0 - [HideInInspector]_LightingDetailShadowStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingDetailShadowStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthR ("Additive R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingAddDetailShadowStrengthG ("Additive G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthB ("Additive B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthA ("Additive A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataDetailShadowGlobalMaskR ("Global Mask--{reference_property:_LightDataDetailShadowGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataDetailShadowGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingShadowMasks ("Shadow Masks (expand)--{reference_properties:[_LightingShadowMasksPan, _LightingShadowMasksUV,_LightingShadowMaskStrengthR,_LightingShadowMaskStrengthG,_LightingShadowMaskStrengthB,_LightingShadowMaskStrengthA, _LightDataShadowMaskGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingShadowMasksPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingShadowMasksUV ("UV", Int) = 0 - [HideInInspector]_LightingShadowMaskStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingShadowMaskStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataShadowMaskGlobalMaskR ("Global Mask--{reference_property:_LightDataShadowMaskGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataShadowMaskGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_start_LightDataBasePass ("Base Pass (Directional & Baked Lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [Enum(Poi Custom, 0, Standard, 1, UTS2, 2, OpenLit(lil toon), 3)] _LightingColorMode ("Light Color Mode", Int) = 0 - [Enum(Poi Custom, 0, Normalized NDotL, 1, Saturated NDotL, 2, Casted Shadows Only, 3)] _LightingMapMode ("Light Map Mode", Int) = 0 - [Enum(Poi Custom, 0, Forced Local Direction, 1, Forced World Direction, 2, UTS2, 3, OpenLit(lil toon), 4, View Direction, 5)] _LightingDirectionMode ("Light Direction Mode", Int) = 0 - [Vector3]_LightngForcedDirection ("Forced Direction--{condition_showS:(_LightingDirectionMode==1 || _LightingDirectionMode==2)}", Vector) = (0, 0, 0) - _LightingViewDirOffsetPitch ("View Dir Offset Pitch--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - _LightingViewDirOffsetYaw ("View Dir Offset Yaw--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - [ToggleUI]_LightingForceColorEnabled ("Force Light Color", Float) = 0 - _LightingForcedColor ("Forced Color--{condition_showS:(_LightingForceColorEnabled==1), reference_property:_LightingForcedColorThemeIndex}", Color) = (1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _LightingForcedColorThemeIndex ("", Int) = 0 - _Unlit_Intensity ("Unlit_Intensity--{condition_showS:(_LightingColorMode==2)}", Range(0.001, 4)) = 1 - [ToggleUI]_LightingCapEnabled ("Limit Brightness", Float) = 1 - _LightingCap ("Max Brightness--{condition_showS:(_LightingCapEnabled==1)}", Range(0, 10)) = 1 - _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 - _LightingIndirectUsesNormals ("Indirect Uses Normals--{condition_showS:(_LightingColorMode==0)}", Range(0, 1)) = 0 - _LightingCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 0 - _LightingMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - [ToggleUI]_LightingVertexLightingEnabled ("Vertex lights (Non-Important)", Float) = 1 - [ToggleUI]_LightingMirrorVertexLightingEnabled ("Mirror Vertex lights (Non-Important)", Float) = 1 - [HideInInspector] s_end_LightDataBasePass ("Base Pass", Float) = 1 - [HideInInspector] s_start_LightDataAddPass ("Add Pass (Point & Spot lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [ToggleUI]_LightingAdditiveEnable ("Pixel lights (Important)", Float) = 1 - [ToggleUI]_DisableDirectionalInAdd ("Ignore Directional--{condition_showS:(_LightingAdditiveEnable==1)}", Float) = 1 - [ToggleUI]_LightingAdditiveLimited ("Limit Brightness", Float) = 1 - _LightingAdditiveLimit ("Max Brightness--{condition_showS:(_LightingAdditiveLimited==1)}", Range(0, 10)) = 1 - _LightingAdditiveCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 1 - _LightingAdditiveMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - _LightingAdditivePassthrough ("Point Light Passthrough--{condition_showS:(_LightingAdditiveEnable==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_LightDataAddPass ("Add Pass", Float) = 1 - [HideInInspector] s_start_LightDataDebug ("Debug / Data Visualizations--{reference_property:_LightDataDebugEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][NoAnimate][ThryToggleUI(false)]_LightDataDebugEnabled ("Debug", Float) = 0 - [ThryWideEnum(Direct Color, 0, Indirect Color, 1, Light Map, 2, Attenuation, 3, N Dot L, 4, Half Dir, 5, Direction, 6, Add Color, 7, Add Attenuation, 8, Add Shadow, 9, Add N Dot L, 10)] _LightingDebugVisualize ("Visualize", Int) = 0 - [HideInInspector] s_end_LightDataDebug ("Debug", Float) = 0 - [HideInInspector] m_end_PoiLightData ("Light Data", Float) = 0 - [HideInInspector] m_start_PoiShading (" Shading--{reference_property:_ShadingEnabled,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/main},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(VIGNETTE_MASKED)]_ShadingEnabled ("Enable Shading", Float) = 1 - [KeywordEnum(TextureRamp, Multilayer Math, Wrapped, Skin, ShadeMap, Flat, Realistic, Cloth, SDF)] _LightingMode ("Lighting Type", Float) = 5 - _LightingShadowColor ("Shadow Tint--{condition_showS:(_LightingMode!=4 && _LightingMode!=1 && _LightingMode!=5)}", Color) = (1, 1, 1) - [ToggleUI]_ForceFlatRampedLightmap ("Force Ramped Lightmap--{condition_showS:(_LightingMode==5)}", Range(0, 1)) = 1 - _ShadowStrength ("Shadow Strength--{condition_showS:(_LightingMode<=4 || _LightingMode==8)}", Range(0, 1)) = 1 - _LightingIgnoreAmbientColor ("Ignore Indirect Shadow Color--{condition_showS:(_LightingMode<=3 || _LightingMode==8)}", Range(0, 1)) = 1 - [Space(15)] - [HideInInspector] s_start_ShadingAddPass ("Add Pass (Point & Spot Lights)--{persistent_expand:true,default_expand:false}", Float) = 0 - [Enum(Realistic, 0, Toon, 1, Same as Base Pass, 3)] _LightingAdditiveType ("Lighting Type", Int) = 3 - _LightingAdditiveGradientStart ("Gradient Start--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = 0 - _LightingAdditiveGradientEnd ("Gradient End--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_ShadingAddPass ("Add Pass", Float) = 0 - [HideInInspector] s_start_ShadingGlobalMask ("Global Masks--{persistent_expand:true,default_expand:false}", Float) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapApplyGlobalMaskIndex ("LightMap to Global Mask--{reference_property:_ShadingRampedLightMapApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapApplyGlobalMaskBlendType ("Blending", Int) = 2 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapInverseApplyGlobalMaskIndex ("Inversed LightMap to Global Mask--{reference_property:_ShadingRampedLightMapInverseApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapInverseApplyGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] s_end_ShadingGlobalMask ("Global Masks", Float) = 0 - [HideInInspector] m_end_PoiShading ("Shading", Float) = 0 - [HideInInspector] m_start_matcap ("Matcap 0--{reference_property:_MatcapEnable,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/matcap},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0)]_MatcapEnable ("Enable Matcap}", Float) = 0 - [ThryWideEnum(UTS Style, 0, Top Pinch, 1, Double Sided, 2, Gradient, 3)] _MatcapUVMode ("UV Mode", Int) = 1 - _MatcapColor ("Color--{reference_property:_MatcapColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _MatcapColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_Matcap ("Matcap--{reference_properties:[_MatcapUVToBlend, _MatCapBlendUV1, _MatcapPan, _MatcapBorder, _MatcapRotation]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapUVToBlend ("UV To Blend", Int) = 1 - [HideInInspector][VectorToSliders(Blend UV X, 0.0, 1.0, Blend UV Y, 0.0, 1.0)]_MatCapBlendUV1 ("UV Blend", Vector) = (0, 0, 0, 0) - [HideInInspector]_MatcapBorder ("Border", Range(0, 5)) = 0.43 - [HideInInspector]_MatcapRotation ("Rotation", Range(-1, 1)) = 0 - _MatcapIntensity ("Intensity", Range(0, 5)) = 1 - _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 - _MatcapBaseColorMix ("Base Color Mix", Range(0, 1)) = 0 - _MatcapNormal ("Normal Strength", Range(0, 1)) = 1 - [HideInInspector] s_start_Matcap0Masking ("Masking--{persistent_expand:true,default_expand:true}", Float) = 1 - [sRGBWarning][ThryRGBAPacker(R Mask, G Nothing, B Nothing, A Smoothness, linear, false)]_MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskChannel, _MatcapMaskInvert]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_MatcapMaskInvert ("Invert", Float) = 0 - _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _MatcapMaskGlobalMask (" Global Mask--{reference_property:_MatcapMaskGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_MatcapMaskGlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_end_Matcap0Masking ("Masking", Float) = 0 - [HideInInspector] s_start_Matcap0Blending ("Blending--{persistent_expand:true,default_expand:true}", Float) = 1 - _MatcapReplace ("Replace", Range(0, 1)) = 1 - _MatcapMultiply ("Multiply", Range(0, 1)) = 0 - _MatcapAdd ("Add", Range(0, 1)) = 0 - _MatcapMixed ("Mixed", Range(0, 1)) = 0 - _MatcapScreen ("Screen", Range(0, 1)) = 0 - _MatcapAddToLight ("Unlit Add", Range(0, 1)) = 0 - [HideInInspector] s_end_Matcap0Blending ("Blending", Float) = 0 - [HideInInspector] s_start_MatcapNormal ("Custom Normal Map--{reference_property:_Matcap0CustomNormal,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0_CUSTOM_NORMAL, true)] _Matcap0CustomNormal ("Custom Normal", Float) = 0 - [Normal]_Matcap0NormalMap ("Normal Map--{reference_properties:[_Matcap0NormalMapPan, _Matcap0NormalMapUV, _Matcap0NormalMapScale]}", 2D) = "bump" { } - [HideInInspector][Vector2]_Matcap0NormalMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _Matcap0NormalMapUV ("UV", Int) = 0 - [HideInInspector]_Matcap0NormalMapScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector] s_end_MatcapNormal ("", Float) = 0 - [HideInInspector] s_start_MatcapHueShift ("Hue Shift--{reference_property:_MatcapHueShiftEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _MatcapHueShiftColorSpace ("Color Space", Int) = 0 - _MatcapHueShiftSpeed ("Shift Speed", Float) = 0 - _MatcapHueShift ("Hue Shift", Range(0, 1)) = 0 - [HideInInspector] s_end_MatcapHueShift ("", Float) = 0 - [HideInInspector] s_start_MatcapSmoothness ("Blur / Smoothness--{reference_property:_MatcapSmoothnessEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapSmoothnessEnabled ("Blur", Float) = 0 - _MatcapSmoothness ("Smoothness", Range(0, 1)) = 1 - [ToggleUI]_MatcapMaskSmoothnessApply ("Apply Mask for Smoothness", Float) = 0 - [Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskSmoothnessChannel ("Mask Channel for Smoothness", Int) = 3 - [HideInInspector] s_end_MatcapSmoothness ("", Float) = 0 - [HideInInspector] s_start_matcapApplyToAlpha ("Alpha Options--{persistent_expand:true,default_expand:false}", Float) = 0 - _MatcapAlphaOverride ("Override Alpha", Range(0, 1)) = 0 - [ToggleUI] _MatcapApplyToAlphaEnabled ("Intensity To Alpha", Float) = 0 - [ThryWideEnum(Greyscale, 0, Max, 1)] _MatcapApplyToAlphaSourceBlend ("Source Blend--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - [ThryWideEnum(Add, 0, Multiply, 1)] _MatcapApplyToAlphaBlendType ("Blend Type--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - _MatcapApplyToAlphaBlending ("Blending--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Range(0, 1)) = 1.0 - [HideInInspector] s_end_matcapApplyToAlpha ("", Float) = 0 - [HideInInspector] s_start_MatcapTPSMaskGroup ("Matcap TPS Mask--{reference_property:_MatcapTPSDepthEnabled,persistent_expand:true,default_expand:false, condition_showS:(_TPSPenetratorEnabled==1)}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapTPSDepthEnabled ("TPS Depth Mask Enabled", Float) = 0 - _MatcapTPSMaskStrength ("TPS Mask Strength", Range(0, 1)) = 1 - [HideInInspector] s_end_MatcapTPSMaskGroup ("", Float) = 0 - [HideInInspector] s_start_Matcap0AudioLink ("Audio Link ♫--{reference_property:_Matcap0ALEnabled,persistent_expand:true,default_expand:false, condition_showS:(_EnableAudioLink==1)}", Float) = 0 - [HideInInspector][ToggleUI] _Matcap0ALEnabled ("Enable Audio Link", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALAlphaAddBand ("Alpha Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALAlphaAdd ("Alpha Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALEmissionAddBand ("Emission Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALEmissionAdd ("Emission Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALIntensityAddBand ("Intensity Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALIntensityAdd ("Intensity Mod", Vector) = (0, 0, 0, 0) - [ThryWideEnum(Motion increases as intensity of band increases, 0, Above but Smooth, 1, Motion moves back and forth as a function of intensity, 2, Above but Smoooth, 3, Fixed speed increase when the band is dark Stationary when light, 4, Above but Smooooth, 5, Fixed speed increase when the band is dark Fixed speed decrease when light, 6, Above but Smoooooth, 7)]_Matcap0ALChronoPanType ("Chrono Pan Type--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALChronoPanBand ("Chrono Pan Band--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - _Matcap0ALChronoPanSpeed ("Chrono Pan Speed--{condition_showS:(_MatcapUVMode==3)}", Float) = 0 - [HideInInspector] s_end_Matcap0AudioLink ("Audio Link", Float) = 0 - [HideInInspector] m_end_matcap ("Matcap", Float) = 0 - [HideInInspector] m_OutlineCategory (" Outlines--{reference_property:_EnableOutlines,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/outlines/main},hover:Documentation}}", Float) = 0 - [HideInInspector] m_specialFXCategory ("Special FX", Float) = 0 - [HideInInspector] m_start_emissionOptions ("Emission 0--{reference_property:_EnableEmission,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/special-fx/emission},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(_EMISSION)]_EnableEmission ("Enable Emission 0", Float) = 0 - [sRGBWarning]_EmissionMask ("Emission Mask--{reference_properties:[_EmissionMaskPan, _EmissionMaskUV, _EmissionMaskChannel, _EmissionMaskInvert, _EmissionMask0GlobalMask]}", 2D) = "white" { } - [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _EmissionMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_EmissionMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_EmissionMaskInvert ("Invert", Float) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _EmissionMask0GlobalMask ("Global Mask--{reference_property:_EmissionMask0GlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_EmissionMask0GlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HDR]_EmissionColor ("Emission Color--{reference_property:_EmissionColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _EmissionColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_EmissionMap ("Emission Map--{reference_properties:[_EmissionMapPan, _EmissionMapUV]}", 2D) = "white" { } - [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _EmissionMapUV ("UV", Int) = 0 - _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 - [ToggleUI]_EmissionBaseColorAsMap ("Use Base Colors", Float) = 0 - [ToggleUI]_EmissionReplace0 ("Override Base Color", Float) = 0 - [HideInInspector] s_start_EmissionHueShift0 ("Color Adjust--{reference_property:_EmissionHueShiftEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _EmissionHueShiftColorSpace ("Color Space", Int) = 0 - _EmissionSaturation("Saturation", Range(-1, 10)) = 0 - _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 - _EmissionHueShiftSpeed ("Hue Shift Speed", Float) = 0 - [HideInInspector] s_end_EmissionHueShift0 ("", Float) = 0 - [HideInInspector] s_start_EmissionCenterOut0 ("Center Out--{reference_property:_EmissionCenterOutEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Center Out", Float) = 0 - _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 - [HideInInspector] s_end_EmissionCenterOut0 ("", Float) = 0 - [HideInInspector] s_start_EmissionLightBased0 ("Light Based--{reference_property:_EnableGITDEmission,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EnableGITDEmission ("Light Based", 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] s_end_EmissionLightBased0 ("", Float) = 0 - [HideInInspector] s_start_EmissionBlinking0 ("Blinking--{reference_property:_EmissionBlinkingEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("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] s_end_EmissionBlinking0 ("", Float) = 0 - [HideInInspector] s_start_ScrollingEmission0 ("Scrolling--{reference_property:_ScrollingEmission,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI] _ScrollingEmission ("Scrolling", Float) = 0 - [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 - [Curve]_EmissionScrollingCurve ("Curve--{condition_showS:(_EmissionScrollingUseCurve==1)}", 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] s_end_ScrollingEmission0 ("", Float) = 0 - [Space(4)] - [ThryToggleUI(true)] _EmissionAL0Enabled (" Audio Link--{ condition_showS:_EnableAudioLink==1}", Float) = 0 - [HideInInspector] s_start_EmissionAL0Multiply ("Strength Multiply--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _EmissionAL0MultipliersBand ("Band", Int) = 0 - [VectorLabel(Min, Max)]_EmissionAL0Multipliers ("Multiplier", Vector) = (1, 1, 0, 0) - [HideInInspector] s_end_EmissionAL0Multiply ("Strength Multiply", Float) = 0 - [HideInInspector] s_start_EmissionAL0Add ("Strength Add--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _EmissionAL0StrengthBand ("Band", Int) = 0 - [VectorLabel(Min, Max)]_EmissionAL0StrengthMod ("Strength", Vector) = (0, 0, 0, 0) - [HideInInspector] s_end_EmissionAL0Add ("Strength Add", Float) = 0 - [HideInInspector] s_start_EmissionAL0COut ("Center Out--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _AudioLinkEmission0CenterOutBand ("Band", Int) = 0 - [VectorLabel(Min, Max)] _AudioLinkEmission0CenterOut ("Strength", Vector) = (0, 0, 0, 0) - _AudioLinkEmission0CenterOutSize ("Intensity Threshold", Range(0, 1)) = 0 - _AudioLinkEmission0CenterOutDuration ("Duration", Range(-1, 1)) = 1 - [HideInInspector] s_end_EmissionAL0COut ("Center Out", Float) = 0 - [HideInInspector] m_end_emissionOptions ("", Float) = 0 - [HideInInspector] m_modifierCategory ("Global Modifiers & Data", Float) = 0 - [HideInInspector] m_start_PoiGlobalCategory ("Global Data and Masks", Float) = 0 - [HideInInspector] m_start_GlobalThemes ("Global Themes--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/global-themes},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HDR]_GlobalThemeColor0 ("Theme Color 0", Color ) = (1, 1, 1, 1) - _GlobalThemeHue0 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed0 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation0 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue0 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HDR]_GlobalThemeColor1 ("Theme Color 1", Color ) = (1, 1, 1, 1) - _GlobalThemeHue1 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed1 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation1 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue1 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HDR]_GlobalThemeColor2 ("Theme Color 2", Color ) = (1, 1, 1, 1) - _GlobalThemeHue2 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed2 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation2 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue2 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HDR]_GlobalThemeColor3 ("Theme Color 3", Color ) = (1, 1, 1, 1) - _GlobalThemeHue3 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed3 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation3 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue3 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HideInInspector] m_end_GlobalThemes ("Global Themes", Float ) = 0 - [HideInInspector] m_start_GlobalMask ("Global Mask--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/modifiers/global-masks},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalMaskModifiers ("Modifiers", Float) = 0 - [HideInInspector] m_end_GlobalMaskModifiers ("", Float) = 0 - [HideInInspector] m_end_GlobalMask ("Global Mask", Float) = 0 - [HideInInspector] m_end_PoiGlobalCategory ("Global Data and Masks ", Float) = 0 - [HideInInspector] m_start_PoiUVCategory ("UVs", Float) = 0 - [HideInInspector] m_start_Stochastic ("Stochastic Sampling", Float) = 0 - [KeywordEnum(Deliot Heitz, Hextile, None)] _StochasticMode ("Sampling Mode", Float) = 0 - [HideInInspector] s_start_deliot ("Deliot Heitz--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==0}}", Float) = 0 - _StochasticDeliotHeitzDensity ("Detiling Density", Range(0.1, 10)) = 1 - [HideInInspector] s_end_deliot ("Deliot Heitz", Float) = 0 - [HideInInspector] s_start_hextile ("Hextile--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==1}}", Float) = 0 - _StochasticHexGridDensity ("Hex Grid Density", Range(0.1, 10)) = 1 - _StochasticHexRotationStrength ("Rotation Strength", Range(0, 2)) = 0 - _StochasticHexFallOffContrast("Falloff Contrast", Range(0.01, 0.99)) = 0.6 - _StochasticHexFallOffPower("Falloff Power", Range(0, 20)) = 7 - [HideInInspector] s_end_hextile ("Hextile", Float) = 0 - [HideInInspector] m_end_Stochastic ("Stochastic Sampling", Float) = 0 - [HideInInspector] m_start_uvLocalWorld ("Local World UV", Float) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos0 ("Local X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos1 ("Local Y", Int) = 1 - [Space(10)] - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos0 ("World X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos1 ("World Y", Int) = 2 - [HideInInspector] m_end_uvLocalWorld ("Local World UV", Float) = 0 - [HideInInspector] m_start_uvPanosphere ("Panosphere UV", Float) = 0 - [ToggleUI] _StereoEnabled ("Stereo Enabled", Float) = 0 - [ToggleUI] _PanoUseBothEyes ("Perspective Correct (VR)", Float) = 1 - [HideInInspector] m_end_uvPanosphere ("Panosphere UV", Float) = 0 - [HideInInspector] m_start_uvPolar ("Polar UV", Float) = 0 - [ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8)] _PolarUV ("UV", Int) = 0 - [Vector2]_PolarCenter ("Center Coordinate", Vector) = (.5, .5, 0, 0) - _PolarRadialScale ("Radial Scale", Float) = 1 - _PolarLengthScale ("Length Scale", Float) = 1 - _PolarSpiralPower ("Spiral Power", Float) = 0 - [HideInInspector] m_end_uvPolar ("Polar UV", Float) = 0 - [HideInInspector] m_end_PoiUVCategory ("UVs ", Float) = 0 - [HideInInspector] m_start_PoiPostProcessingCategory ("Post Processing", Float) = 0 - [HideInInspector] m_start_PPAnimations ("PP Animations--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/post-processing/pp-animations},hover:Documentation}}", Float) = 0 - [Helpbox(1)] _PPHelp ("This section meant for real time adjustments through animations and not to be changed in unity", Int) = 0 - _PPLightingMultiplier ("Lighting Mulitplier", Float) = 1 - _PPLightingAddition ("Lighting Add", Float) = 0 - _PPEmissionMultiplier ("Emission Multiplier", Float) = 1 - _PPFinalColorMultiplier ("Final Color Multiplier", Float) = 1 - [HideInInspector] m_end_PPAnimations ("PP Animations ", Float) = 0 - [HideInInspector] m_end_PoiPostProcessingCategory ("Post Processing ", Float) = 0 - [HideInInspector] m_thirdpartyCategory ("Third Party", Float) = 0 - [HideInInspector] m_renderingCategory ("Rendering--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/main},hover:Documentation}}", 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]_RenderingReduceClipDistance ("Reduce Clip Distance", Float) = 0 - [ToggleUI] _ZClip ("Z Clip", Float) = 1 - [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 - [ToggleUI]_FlipBackfaceNormals ("Flip Backface Normals", Int) = 1 - [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown - [ToggleUI] _RenderingEarlyZEnabled ("Early Z", Float) = 0 - [HideInInspector] m_start_blending ("Blending--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/blending},hover:Documentation}}", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("RGB Destination Blend", Int) = 0 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOp ("RGB Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlend ("RGB Destination Blend", Int) = 1 - [HideInInspector] m_start_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("Alpha Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("Alpha Destination Blend", Int) = 10 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOpAlpha ("Alpha Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlendAlpha ("Alpha Source Blend", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlendAlpha ("Alpha Destination Blend", Int) = 1 - [HideInInspector] m_end_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [HideInInspector] m_end_blending ("Blending", Float) = 0 - [HideInInspector] m_start_StencilPassOptions ("Stencil--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/stencil},hover:Documentation}}", Float) = 0 - [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _StencilType ("Stencil Type", 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--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 - [HideInInspector] m_start_StencilPassBackOptions("Back--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackPassOp ("Back Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackFailOp ("Back Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackZFailOp ("Back ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilBackCompareFunction ("Back Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassBackOptions("Back", Float) = 0 - [HideInInspector] m_start_StencilPassFrontOptions("Front--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontPassOp ("Front Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontFailOp ("Front Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontZFailOp ("Front ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilFrontCompareFunction ("Front Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassFrontOptions("Front", Float) = 0 - [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 - } - SubShader - { - Tags { "RenderType" = "Opaque" "Queue" = "Geometry" "VRCFallback" = "Standard" } - Pass - { - Name "Base" - Tags { "LightMode" = "ForwardBase" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull Off - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask RGBA - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdbase - #pragma multi_compile_instancing - #pragma multi_compile_fog - #pragma multi_compile_fragment _ VERTEXLIGHT_ON - #define POI_PASS_BASE - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - #ifdef _EMISSION - #if defined(PROP_EMISSIONMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionMap; - #endif - float4 _EmissionMap_ST; - float2 _EmissionMapPan; - float _EmissionMapUV; - #if defined(PROP_EMISSIONMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionMask; - #endif - float4 _EmissionMask_ST; - float2 _EmissionMaskPan; - float _EmissionMaskUV; - float _EmissionMaskInvert; - float _EmissionMaskChannel; - float _EmissionMask0GlobalMask; - float _EmissionMask0GlobalMaskBlendType; - #if defined(PROP_EMISSIONSCROLLINGCURVE) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionScrollingCurve; - #endif - float4 _EmissionScrollingCurve_ST; - float4 _EmissionColor; - float _EmissionBaseColorAsMap; - float _EmissionStrength; - float _EmissionHueShiftEnabled; - float _EmissionHueShiftColorSpace; - float _EmissionSaturation; - float _EmissionHueShift; - float _EmissionHueShiftSpeed; - float _EmissionCenterOutEnabled; - float _EmissionCenterOutSpeed; - float _EnableGITDEmission; - float _GITDEWorldOrMesh; - float _GITDEMinEmissionMultiplier; - float _GITDEMaxEmissionMultiplier; - float _GITDEMinLight; - float _GITDEMaxLight; - float _EmissionBlinkingEnabled; - float _EmissiveBlink_Min; - float _EmissiveBlink_Max; - float _EmissiveBlink_Velocity; - float _EmissionBlinkingOffset; - float _ScrollingEmission; - float4 _EmissiveScroll_Direction; - float _EmissiveScroll_Width; - float _EmissiveScroll_Velocity; - float _EmissiveScroll_Interval; - float _EmissionScrollingOffset; - float _EmissionReplace0; - float _EmissionScrollingVertexColor; - float _EmissionScrollingUseCurve; - float _EmissionColorThemeIndex; - float _EmissionAL0Enabled; - float2 _EmissionAL0StrengthMod; - float _EmissionAL0StrengthBand; - float2 _AudioLinkEmission0CenterOut; - float _AudioLinkEmission0CenterOutSize; - float _AudioLinkEmission0CenterOutBand; - float _AudioLinkEmission0CenterOutDuration; - float2 _EmissionAL0Multipliers; - float _EmissionAL0MultipliersBand; - #endif - float _PPLightingMultiplier; - float _PPLightingAddition; - float _PPEmissionMultiplier; - float _PPFinalColorMultiplier; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += 0.0 * - 0.01; - #else - o.pos.z += 0.0 * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if (0.0) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = HextileLoadRot2x2(vertex0, 0.0); - rot1 = HextileLoadRot2x2(vertex1, 0.0); - rot2 = HextileLoadRot2x2(vertex2, 0.0); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, 0.6); - W = Dw * pow(W, 7.0); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + 0.0); - if (0.0 > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[0.0 - 1], 2.0); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[0.0] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * 1.0; - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= 1.0; - return float2(radius, angle + distance(poiMesh.uv[0.0], float4(0.5,0.5,0,0)) * 0.0); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2(0.0 != 3 ? poiMesh.worldPos[ 0.0] : 0.0f, 2.0 != 3 ? poiMesh.worldPos[2.0] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[0.0],localUVs[1.0]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, 1.0) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), 0.0); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if (3.0 == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if (3.0 == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if (3.0 == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = 0.5; - #endif - float2 ToonAddGradient = float2(0.0, 0.5); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = 1.0 * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, 0.0); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if (1.0) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = 3.0; - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2(0.0, 0.5); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * 0.5, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if (0.0) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = 0.0; - matcapALD.matcapALAlphaAddBand = 0.0; - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = 0.0; - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = 0.0; - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = 0.0; - matcapALD.matcapALChronoPanBand = 0.0; - matcapALD.matcapALChronoPanSpeed = 0.0; - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], 1.0); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, 1.0, 1.0, float4(0,0,0,0).xy, 0.0, 0.43, normal0, poiCam, poiLight, poiMesh, 1.0, matcapALD); - if (0.0) - { - float mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 8192) mipCount0 = 13; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 4096) mipCount0 = 12; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 2048) mipCount0 = 11; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 1024) mipCount0 = 10; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 512) mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 256) mipCount0 = 8; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 128) mipCount0 = 7; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 64) mipCount0 = 6; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 32) mipCount0 = 5; - float matcapSmoothness = 1.0; - if (0.0) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0))[3.0]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - #endif - matcapIntensity = 1.0; - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, 0.0); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0))[0.0]; - #else - matcapMask = 1; - #endif - if (0.0) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if (0.0) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * 0.0); - if (0.0) - { - matcap.rgb = hueShift(matcap.rgb, 0.0 + _Time.x * 0.0, 0.0); - } - if (0) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if (0 == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if (0 == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, 1.0); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if (0 == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, 1.0); - } - } - blendMatcap(poiLight, poiFragData, poiMods, 0.0, 0.0, 0.0, 0.234, 0.0, 0.0, matcap, matcapMask, 0.0, 0.0, 0.0, 2.0, matcapALD); - #endif - } - #endif - float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled, in float worldOrMesh, in PoiLight poiLight) - { - float glowInTheDarkMultiplier = 1; - if (enabled) - { - float3 lightValue = worldOrMesh ? calculateluminance(poiLight.finalLighting.rgb) : calculateluminance(poiLight.directColor.rgb); - float gitdeAlpha = saturate(inverseLerp(minLight, maxLight, lightValue)); - glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); - } - return glowInTheDarkMultiplier; - } - float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) - { - scrollWidth = max(scrollWidth, 0); - float phase = 0; - phase = dot(position, direction); - phase -= (_Time.y + offset) * velocity; - phase /= interval; - phase -= floor(phase); - phase = saturate(phase); - return (pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; - } - float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) - { - float amplitude = (blinkMax - blinkMin) * 0.5f; - float base = blinkMin + amplitude; - return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; - } - void applyALEmmissionStrength(in PoiMods poiMods, inout float emissionStrength, in float2 emissionStrengthMod, in float emissionStrengthBand, in float2 _EmissionALMultipliers, in float _EmissionALMultipliersBand, in float enabled) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable && enabled) - { - emissionStrength += lerp(emissionStrengthMod.x, emissionStrengthMod.y, poiMods.audioLink[emissionStrengthBand]); - emissionStrength *= lerp(_EmissionALMultipliers.x, _EmissionALMultipliers.y, poiMods.audioLink[_EmissionALMultipliersBand]); - } - #endif - } - void applyALCenterOutEmission(in PoiMods poiMods, in float nDotV, inout float emissionStrength, in float size, in float band, in float2 emissionToAdd, in float enabled, in float duration) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable && enabled) - { - float intensity; - [flatten] - if (duration >= 0) - { - intensity = getBandAtTime(band, saturate(remap(nDotV, 1, 0, 0, duration)), size); - } - else - { - duration *= -1; - intensity = getBandAtTime(band, saturate(remap(pow(nDotV, 2), 0, 1 + duration, 0, duration)), size); - } - emissionStrength += lerp(emissionToAdd[0], emissionToAdd[1], intensity); - } - #endif - } - #ifdef _EMISSION - float3 applyEmission(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiLight poiLight, in PoiCam poiCam, in PoiMods poiMods) - { - float3 emission0 = 0; - float emissionStrength0 = _EmissionStrength; - float3 emissionColor0 = 0; - applyALEmmissionStrength(poiMods, emissionStrength0, float4(0,0,0,0), 0.0, float4(1,1,0,0), 0.0, 0.0); - applyALCenterOutEmission(poiMods, poiLight.nDotV, emissionStrength0, 0.0, 0.0, float4(0,0,0,0), 0.0, 1.0); - float glowInTheDarkMultiplier0 = calculateGlowInTheDark(0.0, 1.0, 1.0, 0.0, 0.0, 0.0, poiLight); - #if defined(PROP_EMISSIONMAP) || !defined(OPTIMIZER_ENABLED) - if (!0.0) - { - emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)).rgb * lerp(1, poiFragData.baseColor, 0.0).rgb * poiThemeColor(poiMods, float4(0.509434,0.509434,0.509434,1).rgb, 0.0); - } - else - { - emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * 5.0).rgb * lerp(1, poiFragData.baseColor, 0.0).rgb * poiThemeColor(poiMods, float4(0.509434,0.509434,0.509434,1).rgb, 0.0); - } - #else - emissionColor0 = lerp(1, poiFragData.baseColor, 0.0).rgb * poiThemeColor(poiMods, float4(0.509434,0.509434,0.509434,1).rgb, 0.0); - #endif - if (0.0) - { - float3 pos = poiMesh.localPos; - if (0.0) - { - pos = poiMesh.vertexColor.rgb; - } - if (0.0) - { - #if defined(PROP_EMISSIONSCROLLINGCURVE) || !defined(OPTIMIZER_ENABLED) - emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)) + (dot(pos, float4(0,-10,0,0).xyz) * 20.0) + _Time.x * 10.0).r; - #endif - } - else - { - emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0).xyz, 10.0, 20.0, 10.0, 0.0, pos); - } - } - if (0.0) - { - emissionStrength0 *= calculateBlinkingEmission(0.0, 1.0, 4.0, 0.0); - } - emissionColor0 = hueShift(emissionColor0, frac(0.0 + 0.0 * _Time.x) * 0.0, 0.0); - emissionColor0 = lerp(emissionColor0, dot(emissionColor0, float3(0.3, 0.59, 0.11)), - (0.0) * 0.0); - #if defined(PROP_EMISSIONMASK) || !defined(OPTIMIZER_ENABLED) - float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)) + _Time.x * float4(0,0,0,0))[0.0]; - #else - float emissionMask0 = 1; - #endif - if (0.0) - { - emissionMask0 = 1 - emissionMask0; - } - if (0.0 > 0) - { - emissionMask0 = maskBlend(emissionMask0, poiMods.globalMask[0.0 - 1], 2.0); - } - emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; - emission0 = max(emissionStrength0 * emissionColor0, 0); - #ifdef POI_DISSOLVE - if (_DissolveEmissionSide != 2) - { - emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, _DissolveEmissionSide); - } - #endif - poiFragData.emission += emission0; - return emission0 * 0.0; - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && 1) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)); - if (0.0) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), 0.0); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)), float4(0,0,0,0), 0.0), 1.0); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, 1.0), lerp(1, AOMaps.g, 0.0)), lerp(1, AOMaps.b, 0.0)), lerp(1, AOMaps.a, 0.0)); - #else - poiLight.occlusion = 1; - #endif - if (0.0 > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[0.0 - 1], 2.0); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, 1.0) * lerp(1, DetailShadows.g, 0.0) * lerp(1, DetailShadows.b, 0.0) * lerp(1, DetailShadows.a, 0.0); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, 1.0) * lerp(1, DetailShadows.g, 0.0) * lerp(1, DetailShadows.b, 0.0) * lerp(1, DetailShadows.a, 0.0); - #endif - #else - poiLight.detailShadow = 1; - #endif - if (0.0 > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[0.0 - 1], 2.0); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, 1.0) * lerp(1, ShadowMasks.g, 0.0) * lerp(1, ShadowMasks.b, 0.0) * lerp(1, ShadowMasks.a, 0.0); - #else - poiLight.shadowMask = 1; - #endif - if (0.0 > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[0.0 - 1], 2.0); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if (1.0) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && 1.0 == 0) - { - poiFragData.toggleVertexLights = 0; - } - if (1.0) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = 1.0 ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], 1.0) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), 0.0); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if (0.0 == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], 0.0), 1)); - } - if (0.0 == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if (0.0 == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * 1.0, max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * 1.0)); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if (0.0 == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = 0.0; - if (0.0 == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if (0.0 == 1 || 0.0 == 2) - { - if (0.0 == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if (0.0 == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if (0.0 == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if (0.0 == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if (0.0 == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - 0.0 : 0.0); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? 0.0 : - 0.0); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = 0.0; - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if (0.0 == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if (0.0 == 3) - { - poiLight.directColor = max(poiLight.directColor, 0.0); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, (0.0 * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, (0.0 * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), 0.0); - if (1.0) - { - poiLight.directColor = min(poiLight.directColor, 1.0); - poiLight.indirectColor = min(poiLight.indirectColor, 1.0); - } - if (0.0) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), 0.0); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * 1.0, 0); - poiLight.directColor = max(poiLight.directColor + 0.0, 0); - poiLight.indirectColor = max(poiLight.indirectColor * 1.0, 0); - poiLight.indirectColor = max(poiLight.indirectColor + 0.0, 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!1.0) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if (1.0) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = 1.0; - poiLight.directColor = 1.0 ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, 1.0) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, 0.5); - poiLight.indirectColor = 1.0 ? MaxLuminance(poiLight.indirectColor, 1.0) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if (0.0 == 0 || 0.0 == 1 || 0.0 == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if (0.0 == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, 0.0); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if (2.0) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * 1.0 + (0.0 ?_AlphaMaskValue * -1 : 0.0)); - if (0.0) alphaMask = 1 - alphaMask; - if (2.0 == 1) poiFragData.alpha = alphaMask; - if (2.0 == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if (2.0 == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if (2.0 == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if (1.0) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if (0.0 > 0) - { - applyToGlobalMask(poiMods, 0.0 - 1, 2.0, poiLight.rampedLightMap); - } - if (0.0 > 0) - { - applyToGlobalMask(poiMods, 0.0 - 1, 2.0, 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - - if (0.0) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - #if defined(_EMISSION) || defined(POI_EMISSION_1) || defined(POI_EMISSION_2) || defined(POI_EMISSION_3) - float3 emissionBaseReplace = 0; - #endif - #ifdef _EMISSION - emissionBaseReplace += applyEmission(poiFragData, poiMesh, poiLight, poiCam, poiMods); - #endif - #if defined(_EMISSION) || defined(POI_EMISSION_1) || defined(POI_EMISSION_2) || defined(POI_EMISSION_3) - poiFragData.finalColor.rgb = lerp(poiFragData.finalColor.rgb, saturate(emissionBaseReplace), poiMax(emissionBaseReplace)); - #endif - if (0.0 == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = 1.0 ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - #ifdef UNITY_PASS_FORWARDBASE - poiFragData.emission = max(poiFragData.emission * 1.0, 0); - poiFragData.finalColor = max(poiFragData.finalColor * 1.0, 0); - #endif - if (0.0 == POI_MODE_OPAQUE) - { - } - clip(poiFragData.alpha - 0.5); - if (0.0 == POI_MODE_CUTOUT && !0.0) - { - poiFragData.alpha = 1; - } - return float4(poiFragData.finalColor + poiFragData.emission * poiMods.globalEmission, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "Add" - Tags { "LightMode" = "ForwardAdd" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite Off - Cull Off - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask RGBA - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_AddBlendOp], [_AddBlendOpAlpha] - Blend [_AddSrcBlend] [_AddDstBlend], [_AddSrcBlendAlpha] [_AddDstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdadd_fullshadows - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define POI_PASS_ADD - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += 0.0 * - 0.01; - #else - o.pos.z += 0.0 * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if (0.0) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = HextileLoadRot2x2(vertex0, 0.0); - rot1 = HextileLoadRot2x2(vertex1, 0.0); - rot2 = HextileLoadRot2x2(vertex2, 0.0); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, 0.6); - W = Dw * pow(W, 7.0); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + 0.0); - if (0.0 > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[0.0 - 1], 2.0); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac(0.0 + 0.0 * _Time.x), 0.0, 0.0), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[0.0] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * 1.0; - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= 1.0; - return float2(radius, angle + distance(poiMesh.uv[0.0], float4(0.5,0.5,0,0)) * 0.0); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2(0.0 != 3 ? poiMesh.worldPos[ 0.0] : 0.0f, 2.0 != 3 ? poiMesh.worldPos[2.0] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[0.0],localUVs[1.0]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, 1.0) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), 0.0); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if (3.0 == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if (3.0 == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if (3.0 == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = 0.5; - #endif - float2 ToonAddGradient = float2(0.0, 0.5); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = 1.0 * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, 0.0); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if (1.0) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = 3.0; - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2(0.0, 0.5); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * 0.5, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if (0.0) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = 0.0; - matcapALD.matcapALAlphaAddBand = 0.0; - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = 0.0; - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = 0.0; - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = 0.0; - matcapALD.matcapALChronoPanBand = 0.0; - matcapALD.matcapALChronoPanSpeed = 0.0; - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], 1.0); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, 1.0, 1.0, float4(0,0,0,0).xy, 0.0, 0.43, normal0, poiCam, poiLight, poiMesh, 1.0, matcapALD); - if (0.0) - { - float mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 8192) mipCount0 = 13; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 4096) mipCount0 = 12; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 2048) mipCount0 = 11; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 1024) mipCount0 = 10; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 512) mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 256) mipCount0 = 8; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 128) mipCount0 = 7; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 64) mipCount0 = 6; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 32) mipCount0 = 5; - float matcapSmoothness = 1.0; - if (0.0) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0))[3.0]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, 0.0), float4(1,1,1,1).a); - #endif - matcapIntensity = 1.0; - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, 0.0); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0))[0.0]; - #else - matcapMask = 1; - #endif - if (0.0) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if (0.0) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), 1.0); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * 0.0); - if (0.0) - { - matcap.rgb = hueShift(matcap.rgb, 0.0 + _Time.x * 0.0, 0.0); - } - if (0) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if (0 == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if (0 == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, 1.0); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if (0 == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, 1.0); - } - } - blendMatcap(poiLight, poiFragData, poiMods, 0.0, 0.0, 0.0, 0.234, 0.0, 0.0, matcap, matcapMask, 0.0, 0.0, 0.0, 2.0, matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && 1) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)); - if (0.0) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), 0.0); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)), float4(0,0,0,0), 0.0), 1.0); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, 1.0), lerp(1, AOMaps.g, 0.0)), lerp(1, AOMaps.b, 0.0)), lerp(1, AOMaps.a, 0.0)); - #else - poiLight.occlusion = 1; - #endif - if (0.0 > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[0.0 - 1], 2.0); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, 1.0) * lerp(1, DetailShadows.g, 0.0) * lerp(1, DetailShadows.b, 0.0) * lerp(1, DetailShadows.a, 0.0); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, 1.0) * lerp(1, DetailShadows.g, 0.0) * lerp(1, DetailShadows.b, 0.0) * lerp(1, DetailShadows.a, 0.0); - #endif - #else - poiLight.detailShadow = 1; - #endif - if (0.0 > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[0.0 - 1], 2.0); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, 1.0) * lerp(1, ShadowMasks.g, 0.0) * lerp(1, ShadowMasks.b, 0.0) * lerp(1, ShadowMasks.a, 0.0); - #else - poiLight.shadowMask = 1; - #endif - if (0.0 > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[0.0 - 1], 2.0); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if (1.0) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && 1.0 == 0) - { - poiFragData.toggleVertexLights = 0; - } - if (1.0) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = 1.0 ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], 1.0) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), 0.0); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if (0.0 == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], 0.0), 1)); - } - if (0.0 == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if (0.0 == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * 1.0, max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * 1.0)); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if (0.0 == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = 0.0; - if (0.0 == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if (0.0 == 1 || 0.0 == 2) - { - if (0.0 == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if (0.0 == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if (0.0 == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if (0.0 == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if (0.0 == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - 0.0 : 0.0); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? 0.0 : - 0.0); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = 0.0; - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if (0.0 == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if (0.0 == 3) - { - poiLight.directColor = max(poiLight.directColor, 0.0); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, (0.0 * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, (0.0 * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), 0.0); - if (1.0) - { - poiLight.directColor = min(poiLight.directColor, 1.0); - poiLight.indirectColor = min(poiLight.indirectColor, 1.0); - } - if (0.0) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), 0.0); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * 1.0, 0); - poiLight.directColor = max(poiLight.directColor + 0.0, 0); - poiLight.indirectColor = max(poiLight.indirectColor * 1.0, 0); - poiLight.indirectColor = max(poiLight.indirectColor + 0.0, 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!1.0) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if (1.0) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = 1.0; - poiLight.directColor = 1.0 ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, 1.0) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, 0.5); - poiLight.indirectColor = 1.0 ? MaxLuminance(poiLight.indirectColor, 1.0) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), 0.0); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if (0.0 == 0 || 0.0 == 1 || 0.0 == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if (0.0 == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, 0.0); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if (2.0) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * 1.0 + (0.0 ?_AlphaMaskValue * -1 : 0.0)); - if (0.0) alphaMask = 1 - alphaMask; - if (2.0 == 1) poiFragData.alpha = alphaMask; - if (2.0 == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if (2.0 == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if (2.0 == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if (1.0) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if (0.0 > 0) - { - applyToGlobalMask(poiMods, 0.0 - 1, 2.0, poiLight.rampedLightMap); - } - if (0.0 > 0) - { - applyToGlobalMask(poiMods, 0.0 - 1, 2.0, 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - if (0.0) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if (0.0 == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = 1.0 ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - if (0.0 == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - 0.5); - if (0.0 == POI_MODE_CUTOUT && !0.0) - { - poiFragData.alpha = 1; - } - if (4.0 == 4) - { - poiFragData.alpha = saturate(poiFragData.alpha * 10.0); - } - if (0.0 != POI_MODE_TRANSPARENT) - { - poiFragData.finalColor *= poiFragData.alpha; - } - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "ShadowCaster" - Tags { "LightMode" = "ShadowCaster" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull Off - AlphaToMask Off - ZTest [_ZTest] - ColorMask RGBA - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_instancing - #pragma multi_compile_shadowcaster - #pragma multi_compile_fog - #define POI_PASS_SHADOW - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += 0.0 * - 0.01; - #else - o.pos.z += 0.0 * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if (0.0) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * 1.0); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = HextileLoadRot2x2(vertex0, 0.0); - rot1 = HextileLoadRot2x2(vertex1, 0.0); - rot2 = HextileLoadRot2x2(vertex2, 0.0); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if(0.0 > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, 0.6); - W = Dw * pow(W, 7.0); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + 0.0); - if (0.0 > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[0.0 - 1], 2.0); - } - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[0.0] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * 1.0; - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= 1.0; - return float2(radius, angle + distance(poiMesh.uv[0.0], float4(0.5,0.5,0,0)) * 0.0); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2(0.0 != 3 ? poiMesh.worldPos[ 0.0] : 0.0f, 2.0 != 3 ? poiMesh.worldPos[2.0] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[0.0],localUVs[1.0]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, 1.0) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), 0.0); - } - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && 1) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)); - if (0.0) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), 0.0); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[0.0].xy, float4(1,1,0,0)), float4(0,0,0,0), 0.0), 1.0); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, 0.0); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if (2.0) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[0.0], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * 1.0 + (0.0 ?_AlphaMaskValue * -1 : 0.0)); - if (0.0) alphaMask = 1 - alphaMask; - if (2.0 == 1) poiFragData.alpha = alphaMask; - if (2.0 == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if (2.0 == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if (2.0 == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - poiFragData.finalColor = poiFragData.baseColor; - if (0.0 == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = 1.0 ? 1 : poiFragData.alpha; - if (0.0 == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - 0.5); - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - } - CustomEditor "Thry.ShaderEditor" -} diff --git a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader.meta b/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader.meta deleted file mode 100644 index 1232956..0000000 --- a/Partner Rings/internal/Material/Alters/luc/OptimizedShaders/pc/Poiyomi Toon.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: fbc7f322f7cde2e4b8539717b3e63a12 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/pc.mat b/Partner Rings/internal/Material/Alters/luc/pc.mat deleted file mode 100644 index 3227026..0000000 --- a/Partner Rings/internal/Material/Alters/luc/pc.mat +++ /dev/null @@ -1,3739 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: pc - m_Shader: {fileID: 4800000, guid: fbc7f322f7cde2e4b8539717b3e63a12, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _EMISSION - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: b0e3c1a429faf324c9fe3c6e6f9f8c41 - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _EMISSION - _LIGHTINGMODE_FLAT _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Old Versions/9.0/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - RenderType: Opaque - _ColorAnimated: 1 - _EmissionStrengthAnimated: 1 - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 2800000, guid: cdb1102576f4e9d44b0faa633b5435ab, type: 3} - 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} - - _EmissionScrollingCurve: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: cdb1102576f4e9d44b0faa633b5435ab, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: deed2c4dd33488b4b835923e707135fa, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: cdb1102576f4e9d44b0faa633b5435ab, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _AAStrength: 1 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AlphaToMask: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAnimToggle: 1 - - _AudioLinkAsLocal: 0 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 0 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMainStrength: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMap_UVMode: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionParallaxDepth: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissionUseGrad: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 1 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipNormal: 0 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GSAAStrength: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRandomize: 0 - - _GlitterAngleRange: 90 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterEnableLighting: 1 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMainStrength: 0 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleRandomize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUVMode: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlitterVRParallaxStrength: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreEncryption: 0 - - _IgnoreFog: 0 - - _Invisible: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 1 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 0 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 0.234 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MonochromeLighting: 0 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEmission: 0 - - _OutlineEnableLighting: 1 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 0.5 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilComp: 8 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.08 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxOffset: 0.5 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorTexUV: 0 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularToon: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilComp: 8 - - _StencilCompareFunction: 8 - - _StencilFail: 0 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPass: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubpassCutoff: 0.5 - - _SubsurfaceScattering: 0 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _TransparentMode: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseLightColor: 1 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLightStrength: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 1 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 1 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 1 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 1 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.754717, g: 0.754717, b: 0.754717, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {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} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} - - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, 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} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0, g: 0.32, b: 1, a: 1} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineColor: {r: 0.6, g: 0.56, b: 0.73, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, 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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Alters/luc/pc.mat.meta b/Partner Rings/internal/Material/Alters/luc/pc.mat.meta deleted file mode 100644 index 5c18f95..0000000 --- a/Partner Rings/internal/Material/Alters/luc/pc.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b0e3c1a429faf324c9fe3c6e6f9f8c41 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/quest.mat b/Partner Rings/internal/Material/Alters/luc/quest.mat deleted file mode 100644 index a335065..0000000 --- a/Partner Rings/internal/Material/Alters/luc/quest.mat +++ /dev/null @@ -1,3800 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: quest - m_Shader: {fileID: 4800000, guid: e765db0afa7ecfc44ade2e4e2491f65a, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - USE_MATCAP - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _EMISSION - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: 971bf16b6df45604da62c56710901cec - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _EMISSION - _LIGHTINGMODE_FLAT _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - _ColorAnimated: 1 - _EmissionStrengthAnimated: 1 - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: cdb1102576f4e9d44b0faa633b5435ab, type: 3} - 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} - - _EmissionScrollingCurve: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HueShiftMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - 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} - - _MatCap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: deed2c4dd33488b4b835923e707135fa, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: cdb1102576f4e9d44b0faa633b5435ab, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - - _MetallicMap: - 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} - - _Ramp: - m_Texture: {fileID: 2800000, guid: 636cf1b5dfca6f54b94ca3d2ff8216c9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _AAStrength: 1 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AlphaToMask: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAnimToggle: 1 - - _AudioLinkAsLocal: 0 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 0 - - _Culling: 2 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailHueShift: 0 - - _DetailMaskChannel: 3 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailMode: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DetailUV: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMainStrength: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMap_UVMode: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionParallaxDepth: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissionUV: 0 - - _EmissionUseGrad: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 1 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipNormal: 0 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GSAAStrength: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRandomize: 0 - - _GlitterAngleRange: 90 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterEnableLighting: 1 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMainStrength: 0 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleRandomize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUVMode: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlitterVRParallaxStrength: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapChannel: 3 - - _GlossMapScale: 1 - - _GlossStrength: 0.5 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _HueShift: 0 - - _HueShiftMaskChannel: 1 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreEncryption: 0 - - _IgnoreFog: 0 - - _Invisible: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LimitBrightness: 1 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 1 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 0 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 0.234 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapStrength: 1 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapType: 0 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _MetallicMapChannel: 0 - - _MetallicStrength: 0 - - _MinBrightness: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MonochromeLighting: 0 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionMapChannel: 1 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEmission: 0 - - _OutlineEnableLighting: 1 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 0.5 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilComp: 8 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.08 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxOffset: 0.5 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimAlbedoTint: 0 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimEnvironmental: 0 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimIntensity: 0.5 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimRange: 0.3 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowAlbedo: 0.5 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBoost: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorTexUV: 0 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularSharpness: 0 - - _SpecularToon: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilComp: 8 - - _StencilCompareFunction: 8 - - _StencilFail: 0 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPass: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubpassCutoff: 0.5 - - _SubsurfaceScattering: 0 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _TransparentMode: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseLightColor: 1 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexColor: 0 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLightStrength: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 0 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 1 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 1 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 0 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {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} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 0.5943396, g: 0.5943396, b: 0.5943396, a: 1} - - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, 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} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0, g: 0.32, b: 1, a: 1} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineColor: {r: 0.6, g: 0.56, b: 0.73, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, 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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Alters/luc/quest.mat.meta b/Partner Rings/internal/Material/Alters/luc/quest.mat.meta deleted file mode 100644 index 726656d..0000000 --- a/Partner Rings/internal/Material/Alters/luc/quest.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 590c209bdd18b5d4580bbfea36a80650 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Alters/luc/tex.png b/Partner Rings/internal/Material/Alters/luc/tex.png deleted file mode 100644 index 7b0d6a8..0000000 Binary files a/Partner Rings/internal/Material/Alters/luc/tex.png and /dev/null differ diff --git a/Partner Rings/internal/Material/Alters/luc/tex.png.meta b/Partner Rings/internal/Material/Alters/luc/tex.png.meta deleted file mode 100644 index c5ecc02..0000000 --- a/Partner Rings/internal/Material/Alters/luc/tex.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: cdb1102576f4e9d44b0faa633b5435ab -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 1 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 512 - resizeAlgorithm: 0 - textureFormat: 50 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 1 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Diamond.mat b/Partner Rings/internal/Material/Diamond.mat deleted file mode 100644 index 1751738..0000000 --- a/Partner Rings/internal/Material/Diamond.mat +++ /dev/null @@ -1,3739 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Diamond - m_Shader: {fileID: 4800000, guid: 8e8b1a84168c78443814d63e0ea5122a, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _EMISSION - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: 971bf16b6df45604da62c56710901cec - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _EMISSION - _LIGHTINGMODE_FLAT _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - RenderType: Opaque - _ColorAnimated: 1 - _EmissionStrengthAnimated: 1 - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - 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} - - _EmissionScrollingCurve: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: deed2c4dd33488b4b835923e707135fa, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _AAStrength: 1 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AlphaToMask: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAnimToggle: 1 - - _AudioLinkAsLocal: 0 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 0 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMainStrength: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMap_UVMode: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionParallaxDepth: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissionUseGrad: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 1 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipNormal: 0 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GSAAStrength: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRandomize: 0 - - _GlitterAngleRange: 90 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterEnableLighting: 1 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMainStrength: 0 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleRandomize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUVMode: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlitterVRParallaxStrength: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreEncryption: 0 - - _IgnoreFog: 0 - - _Invisible: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 1 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 0 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 0.234 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MonochromeLighting: 0 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEmission: 0 - - _OutlineEnableLighting: 1 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 0.5 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilComp: 8 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.08 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxOffset: 0.5 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorTexUV: 0 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularToon: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilComp: 8 - - _StencilCompareFunction: 8 - - _StencilFail: 0 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPass: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubpassCutoff: 0.5 - - _SubsurfaceScattering: 0 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _TransparentMode: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseLightColor: 1 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLightStrength: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 0 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 1 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 1 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 0 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.69503456, g: 0.4247953, b: 0.6981132, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {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} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 1, g: 0.72156864, b: 0.9535657, a: 1} - - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, 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} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0, g: 0.32, b: 1, a: 1} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineColor: {r: 0.6, g: 0.56, b: 0.73, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, 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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Diamond.mat.meta b/Partner Rings/internal/Material/Diamond.mat.meta deleted file mode 100644 index 6d3cbec..0000000 --- a/Partner Rings/internal/Material/Diamond.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 971bf16b6df45604da62c56710901cec -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Heart.mat b/Partner Rings/internal/Material/Heart.mat deleted file mode 100644 index 381ce28..0000000 --- a/Partner Rings/internal/Material/Heart.mat +++ /dev/null @@ -1,3326 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Heart - m_Shader: {fileID: 4800000, guid: de53be044825f6a4d8d6318982e51a25, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: 18116ce44ea88da43a3fc0a1718711c3 - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _LIGHTINGMODE_FLAT - _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - RenderType: Opaque - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - 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} - - _Matcap: - m_Texture: {fileID: 2800000, guid: e4f0b8c5fc1a36347a7f6b8f38cdb992, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _AudioLinkAnimToggle: 1 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 2 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 0 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRange: 90 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreFog: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 0 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 1 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineCull: 1 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 0 - - _OutlineEmission: 0 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 0.5 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineZTest: 4 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.3 - - _Shadow2ndBorder: 0.5 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdReceive: 0 - - _ShadowBlur: 0.1 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0 - - _ShadowColorTexUV: 0 - - _ShadowMainStrength: 0 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularHighlights: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilCompareFunction: 8 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubsurfaceScattering: 0 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseLightColor: 1 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 1 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 0 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 0 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 1 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {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} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _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} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {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} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {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} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {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} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 0, g: 1, b: 0, a: 1} - - _ShadowAOShift2: {r: 0, g: 1, b: 0, a: 1} - - _ShadowBorderColor: {r: 1, g: 0, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.7, g: 0.75, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Heart.mat.meta b/Partner Rings/internal/Material/Heart.mat.meta deleted file mode 100644 index c7388bb..0000000 --- a/Partner Rings/internal/Material/Heart.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 18116ce44ea88da43a3fc0a1718711c3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/MatCap.meta b/Partner Rings/internal/Material/MatCap.meta deleted file mode 100644 index d1f7472..0000000 --- a/Partner Rings/internal/Material/MatCap.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2c62f5af406fcaf43bbcd1d2f214672c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png b/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png deleted file mode 100644 index f163c62..0000000 Binary files a/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png and /dev/null differ diff --git a/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png.meta b/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png.meta deleted file mode 100644 index a00c776..0000000 --- a/Partner Rings/internal/Material/MatCap/Aluminium-2-4.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 5c40cf196853cbc40b173006ae249809 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 1 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/MatCap/Diamond-2-4.png b/Partner Rings/internal/Material/MatCap/Diamond-2-4.png deleted file mode 100644 index f0db3f8..0000000 Binary files a/Partner Rings/internal/Material/MatCap/Diamond-2-4.png and /dev/null differ diff --git a/Partner Rings/internal/Material/MatCap/Diamond-2-4.png.meta b/Partner Rings/internal/Material/MatCap/Diamond-2-4.png.meta deleted file mode 100644 index edc120f..0000000 --- a/Partner Rings/internal/Material/MatCap/Diamond-2-4.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: deed2c4dd33488b4b835923e707135fa -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/MatCap/Platinum-2.png b/Partner Rings/internal/Material/MatCap/Platinum-2.png deleted file mode 100644 index 1f38633..0000000 Binary files a/Partner Rings/internal/Material/MatCap/Platinum-2.png and /dev/null differ diff --git a/Partner Rings/internal/Material/MatCap/Platinum-2.png.meta b/Partner Rings/internal/Material/MatCap/Platinum-2.png.meta deleted file mode 100644 index 85339bc..0000000 --- a/Partner Rings/internal/Material/MatCap/Platinum-2.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: e4f0b8c5fc1a36347a7f6b8f38cdb992 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders.meta b/Partner Rings/internal/Material/OptimizedShaders.meta deleted file mode 100644 index 342b117..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3bf02ff783464b443af36d5e34b1829b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Diamond.meta b/Partner Rings/internal/Material/OptimizedShaders/Diamond.meta deleted file mode 100644 index 1be046c..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Diamond.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d396cacf3c1b46748a5c461b70ddd41b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader b/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader deleted file mode 100644 index 0700413..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader +++ /dev/null @@ -1,8965 +0,0 @@ -Shader "Hidden/Locked/.poiyomi/Poiyomi Toon/971bf16b6df45604da62c56710901cec" -{ - Properties - { - [HideInInspector] shader_master_label ("Poiyomi 9.0.61", Float) = 0 - [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 - [HideInInspector] shader_locale ("0db0b86376c3dca4b9a6828ef8615fe0", Float) = 0 - [HideInInspector] footer_youtube ("{texture:{name:icon-youtube,height:16},action:{type:URL,data:https://www.youtube.com/poiyomi},hover:YOUTUBE}", Float) = 0 - [HideInInspector] footer_twitter ("{texture:{name:icon-twitter,height:16},action:{type:URL,data:https://twitter.com/poiyomi},hover:TWITTER}", Float) = 0 - [HideInInspector] footer_patreon ("{texture:{name:icon-patreon,height:16},action:{type:URL,data:https://www.patreon.com/poiyomi},hover:PATREON}", Float) = 0 - [HideInInspector] footer_discord ("{texture:{name:icon-discord,height:16},action:{type:URL,data:https://discord.gg/Ays52PY},hover:DISCORD}", Float) = 0 - [HideInInspector] footer_github ("{texture:{name:icon-github,height:16},action:{type:URL,data:https://github.com/poiyomi/PoiyomiToonShader},hover:GITHUB}", Float) = 0 - [Header(POIYOMI SHADER UI FAILED TO LOAD)] - [Header(. This is caused by scripts failing to compile. It can be fixed.)] - [Header(. The inspector will look broken and will not work properly until fixed.)] - [Header(. Please check your console for script errors.)] - [Header(. You can filter by errors in the console window.)] - [Header(. Often the topmost error points to the erroring script.)] - [Space(30)][Header(Common Error Causes)] - [Header(. Installing multiple Poiyomi Shader packages)] - [Header(. Make sure to delete the Poiyomi shader folder before you update Poiyomi.)] - [Header(. If a package came with Poiyomi this is bad practice and can cause issues.)] - [Header(. Delete the package and import it without any Poiyomi components.)] - [Header(. Bad VRCSDK installation (e.g. Both VCC and Standalone))] - [Header(. Delete the VRCSDK Folder in Assets if you are using the VCC.)] - [Header(. Avoid using third party SDKs. They can cause incompatibility.)] - [Header(. Script Errors in other scripts)] - [Header(. Outdated tools or prefabs can cause this.)] - [Header(. Update things that are throwing errors or move them outside the project.)] - [Space(30)][Header(Visit Our Discord to Ask For Help)] - [Space(5)]_ShaderUIWarning0 (" → discord.gg/poiyomi ← We can help you get it fixed! --{condition_showS:(0==1)}", Int) = -0 - [Space(1400)][Header(POIYOMI SHADER UI FAILED TO LOAD)] - _ShaderUIWarning1 ("Please scroll up for more information! --{condition_showS:(0==1)}", Int) = -0 - [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 - [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 1 - [HideInInspector] GeometryShader_Enabled("GEOMETRY SHADER ENABLED", Float) = 1 - [HideInInspector] Tessellation_Enabled("TESSELLATION ENABLED", Float) = 1 - [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:_AlphaForceOpaque=1}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=0}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2460},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.01}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.002}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=4}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=4}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=3}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]} - }]}]}", Int) = 0 - [HideInInspector] m_mainCategory ("Color & Normals--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/main},hover:Documentation}}", Float) = 0 - _Color ("Color & Alpha--{reference_property:_ColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _ColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)]_MainTex ("Texture--{reference_properties:[_MainTexPan, _MainTexUV, _MainPixelMode, _MainTexStochastic]}", 2D) = "white" { } - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MainTexUV ("UV", Int) = 0 - [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ToggleUI]_MainPixelMode ("Pixel Mode", Float) = 0 - [HideInInspector][ToggleUI]_MainTexStochastic ("Stochastic Sampling", Float) = 0 - [Normal]_BumpMap ("Normal Map--{reference_properties:[_BumpMapPan, _BumpMapUV, _BumpScale, _BumpMapStochastic]}", 2D) = "bump" { } - [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _BumpMapUV ("UV", Int) = 0 - [HideInInspector]_BumpScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector][ToggleUI]_BumpMapStochastic ("Stochastic Sampling", Float) = 0 - [sRGBWarning]_AlphaMask ("Alpha Map--{reference_properties:[_AlphaMaskPan, _AlphaMaskUV, _AlphaMaskInvert, _MainAlphaMaskMode, _AlphaMaskBlendStrength, _AlphaMaskValue], alts:[_AlphaMap]}", 2D) = "white" { } - [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _AlphaMaskUV ("UV", Int) = 0 - [HideInInspector][ThryWideEnum(Off, 0, Replace, 1, Multiply, 2, Add, 3, Subtract, 4)]_MainAlphaMaskMode ("Blend Mode", Int) = 2 - [HideInInspector]_AlphaMaskBlendStrength ("Blend Strength", Float) = 1 - [HideInInspector]_AlphaMaskValue ("Blend Offset", Float) = 0 - [HideInInspector][ToggleUI]_AlphaMaskInvert ("Invert", Float) = 0 - _Cutoff ("Alpha Cutoff", Range(0, 1.001)) = 0.5 - [HideInInspector] m_start_Alpha ("Alpha Options--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/alpha-options},hover:Documentation}}", Float) = 0 - [ToggleUI]_AlphaForceOpaque ("Force Opaque", Float) = 1 - _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _AlphaGlobalMask ("Global Mask--{reference_property:_AlphaGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _AlphaGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 - [HideInInspector] m_lightingCategory ("Shading", Float) = 0 - [HideInInspector] m_start_PoiLightData ("Light Data--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/light-data},hover:Documentation}}", Float) = 0 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingAOMaps ("AO Maps (expand)--{reference_properties:[_LightingAOMapsPan, _LightingAOMapsUV,_LightDataAOStrengthR,_LightDataAOStrengthG,_LightDataAOStrengthB,_LightDataAOStrengthA, _LightDataAOGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingAOMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingAOMapsUV ("UV", Int) = 0 - [HideInInspector]_LightDataAOStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightDataAOStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataAOGlobalMaskR ("Global Mask--{reference_property:_LightDataAOGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataAOGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingDetailShadowMaps ("Shadow Map (expand)--{reference_properties:[_LightingDetailShadowMapsPan, _LightingDetailShadowMapsUV,_LightingDetailShadowStrengthR,_LightingDetailShadowStrengthG,_LightingDetailShadowStrengthB,_LightingDetailShadowStrengthA,_LightingAddDetailShadowStrengthR,_LightingAddDetailShadowStrengthG,_LightingAddDetailShadowStrengthB,_LightingAddDetailShadowStrengthA, _LightDataDetailShadowGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingDetailShadowMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingDetailShadowMapsUV ("UV", Int) = 0 - [HideInInspector]_LightingDetailShadowStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingDetailShadowStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthR ("Additive R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingAddDetailShadowStrengthG ("Additive G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthB ("Additive B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthA ("Additive A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataDetailShadowGlobalMaskR ("Global Mask--{reference_property:_LightDataDetailShadowGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataDetailShadowGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingShadowMasks ("Shadow Masks (expand)--{reference_properties:[_LightingShadowMasksPan, _LightingShadowMasksUV,_LightingShadowMaskStrengthR,_LightingShadowMaskStrengthG,_LightingShadowMaskStrengthB,_LightingShadowMaskStrengthA, _LightDataShadowMaskGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingShadowMasksPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingShadowMasksUV ("UV", Int) = 0 - [HideInInspector]_LightingShadowMaskStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingShadowMaskStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataShadowMaskGlobalMaskR ("Global Mask--{reference_property:_LightDataShadowMaskGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataShadowMaskGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_start_LightDataBasePass ("Base Pass (Directional & Baked Lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [Enum(Poi Custom, 0, Standard, 1, UTS2, 2, OpenLit(lil toon), 3)] _LightingColorMode ("Light Color Mode", Int) = 0 - [Enum(Poi Custom, 0, Normalized NDotL, 1, Saturated NDotL, 2, Casted Shadows Only, 3)] _LightingMapMode ("Light Map Mode", Int) = 0 - [Enum(Poi Custom, 0, Forced Local Direction, 1, Forced World Direction, 2, UTS2, 3, OpenLit(lil toon), 4, View Direction, 5)] _LightingDirectionMode ("Light Direction Mode", Int) = 0 - [Vector3]_LightngForcedDirection ("Forced Direction--{condition_showS:(_LightingDirectionMode==1 || _LightingDirectionMode==2)}", Vector) = (0, 0, 0) - _LightingViewDirOffsetPitch ("View Dir Offset Pitch--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - _LightingViewDirOffsetYaw ("View Dir Offset Yaw--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - [ToggleUI]_LightingForceColorEnabled ("Force Light Color", Float) = 0 - _LightingForcedColor ("Forced Color--{condition_showS:(_LightingForceColorEnabled==1), reference_property:_LightingForcedColorThemeIndex}", Color) = (1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _LightingForcedColorThemeIndex ("", Int) = 0 - _Unlit_Intensity ("Unlit_Intensity--{condition_showS:(_LightingColorMode==2)}", Range(0.001, 4)) = 1 - [ToggleUI]_LightingCapEnabled ("Limit Brightness", Float) = 1 - _LightingCap ("Max Brightness--{condition_showS:(_LightingCapEnabled==1)}", Range(0, 10)) = 1 - _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 - _LightingIndirectUsesNormals ("Indirect Uses Normals--{condition_showS:(_LightingColorMode==0)}", Range(0, 1)) = 0 - _LightingCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 0 - _LightingMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - [ToggleUI]_LightingVertexLightingEnabled ("Vertex lights (Non-Important)", Float) = 1 - [ToggleUI]_LightingMirrorVertexLightingEnabled ("Mirror Vertex lights (Non-Important)", Float) = 1 - [HideInInspector] s_end_LightDataBasePass ("Base Pass", Float) = 1 - [HideInInspector] s_start_LightDataAddPass ("Add Pass (Point & Spot lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [ToggleUI]_LightingAdditiveEnable ("Pixel lights (Important)", Float) = 1 - [ToggleUI]_DisableDirectionalInAdd ("Ignore Directional--{condition_showS:(_LightingAdditiveEnable==1)}", Float) = 1 - [ToggleUI]_LightingAdditiveLimited ("Limit Brightness", Float) = 1 - _LightingAdditiveLimit ("Max Brightness--{condition_showS:(_LightingAdditiveLimited==1)}", Range(0, 10)) = 1 - _LightingAdditiveCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 1 - _LightingAdditiveMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - _LightingAdditivePassthrough ("Point Light Passthrough--{condition_showS:(_LightingAdditiveEnable==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_LightDataAddPass ("Add Pass", Float) = 1 - [HideInInspector] s_start_LightDataDebug ("Debug / Data Visualizations--{reference_property:_LightDataDebugEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][NoAnimate][ThryToggleUI(false)]_LightDataDebugEnabled ("Debug", Float) = 0 - [ThryWideEnum(Direct Color, 0, Indirect Color, 1, Light Map, 2, Attenuation, 3, N Dot L, 4, Half Dir, 5, Direction, 6, Add Color, 7, Add Attenuation, 8, Add Shadow, 9, Add N Dot L, 10)] _LightingDebugVisualize ("Visualize", Int) = 0 - [HideInInspector] s_end_LightDataDebug ("Debug", Float) = 0 - [HideInInspector] m_end_PoiLightData ("Light Data", Float) = 0 - [HideInInspector] m_start_PoiShading (" Shading--{reference_property:_ShadingEnabled,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/main},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(VIGNETTE_MASKED)]_ShadingEnabled ("Enable Shading", Float) = 1 - [KeywordEnum(TextureRamp, Multilayer Math, Wrapped, Skin, ShadeMap, Flat, Realistic, Cloth, SDF)] _LightingMode ("Lighting Type", Float) = 5 - _LightingShadowColor ("Shadow Tint--{condition_showS:(_LightingMode!=4 && _LightingMode!=1 && _LightingMode!=5)}", Color) = (1, 1, 1) - [ToggleUI]_ForceFlatRampedLightmap ("Force Ramped Lightmap--{condition_showS:(_LightingMode==5)}", Range(0, 1)) = 1 - _ShadowStrength ("Shadow Strength--{condition_showS:(_LightingMode<=4 || _LightingMode==8)}", Range(0, 1)) = 1 - _LightingIgnoreAmbientColor ("Ignore Indirect Shadow Color--{condition_showS:(_LightingMode<=3 || _LightingMode==8)}", Range(0, 1)) = 1 - [Space(15)] - [HideInInspector] s_start_ShadingAddPass ("Add Pass (Point & Spot Lights)--{persistent_expand:true,default_expand:false}", Float) = 0 - [Enum(Realistic, 0, Toon, 1, Same as Base Pass, 3)] _LightingAdditiveType ("Lighting Type", Int) = 3 - _LightingAdditiveGradientStart ("Gradient Start--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = 0 - _LightingAdditiveGradientEnd ("Gradient End--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_ShadingAddPass ("Add Pass", Float) = 0 - [HideInInspector] s_start_ShadingGlobalMask ("Global Masks--{persistent_expand:true,default_expand:false}", Float) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapApplyGlobalMaskIndex ("LightMap to Global Mask--{reference_property:_ShadingRampedLightMapApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapApplyGlobalMaskBlendType ("Blending", Int) = 2 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapInverseApplyGlobalMaskIndex ("Inversed LightMap to Global Mask--{reference_property:_ShadingRampedLightMapInverseApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapInverseApplyGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] s_end_ShadingGlobalMask ("Global Masks", Float) = 0 - [HideInInspector] m_end_PoiShading ("Shading", Float) = 0 - [HideInInspector] m_start_matcap ("Matcap 0--{reference_property:_MatcapEnable,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/matcap},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0)]_MatcapEnable ("Enable Matcap}", Float) = 0 - [ThryWideEnum(UTS Style, 0, Top Pinch, 1, Double Sided, 2, Gradient, 3)] _MatcapUVMode ("UV Mode", Int) = 1 - _MatcapColor ("Color--{reference_property:_MatcapColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _MatcapColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_Matcap ("Matcap--{reference_properties:[_MatcapUVToBlend, _MatCapBlendUV1, _MatcapPan, _MatcapBorder, _MatcapRotation]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapUVToBlend ("UV To Blend", Int) = 1 - [HideInInspector][VectorToSliders(Blend UV X, 0.0, 1.0, Blend UV Y, 0.0, 1.0)]_MatCapBlendUV1 ("UV Blend", Vector) = (0, 0, 0, 0) - [HideInInspector]_MatcapBorder ("Border", Range(0, 5)) = 0.43 - [HideInInspector]_MatcapRotation ("Rotation", Range(-1, 1)) = 0 - _MatcapIntensity ("Intensity", Range(0, 5)) = 1 - _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 - _MatcapBaseColorMix ("Base Color Mix", Range(0, 1)) = 0 - _MatcapNormal ("Normal Strength", Range(0, 1)) = 1 - [HideInInspector] s_start_Matcap0Masking ("Masking--{persistent_expand:true,default_expand:true}", Float) = 1 - [sRGBWarning][ThryRGBAPacker(R Mask, G Nothing, B Nothing, A Smoothness, linear, false)]_MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskChannel, _MatcapMaskInvert]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_MatcapMaskInvert ("Invert", Float) = 0 - _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _MatcapMaskGlobalMask (" Global Mask--{reference_property:_MatcapMaskGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_MatcapMaskGlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_end_Matcap0Masking ("Masking", Float) = 0 - [HideInInspector] s_start_Matcap0Blending ("Blending--{persistent_expand:true,default_expand:true}", Float) = 1 - _MatcapReplace ("Replace", Range(0, 1)) = 1 - _MatcapMultiply ("Multiply", Range(0, 1)) = 0 - _MatcapAdd ("Add", Range(0, 1)) = 0 - _MatcapMixed ("Mixed", Range(0, 1)) = 0 - _MatcapScreen ("Screen", Range(0, 1)) = 0 - _MatcapAddToLight ("Unlit Add", Range(0, 1)) = 0 - [HideInInspector] s_end_Matcap0Blending ("Blending", Float) = 0 - [HideInInspector] s_start_MatcapNormal ("Custom Normal Map--{reference_property:_Matcap0CustomNormal,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0_CUSTOM_NORMAL, true)] _Matcap0CustomNormal ("Custom Normal", Float) = 0 - [Normal]_Matcap0NormalMap ("Normal Map--{reference_properties:[_Matcap0NormalMapPan, _Matcap0NormalMapUV, _Matcap0NormalMapScale]}", 2D) = "bump" { } - [HideInInspector][Vector2]_Matcap0NormalMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _Matcap0NormalMapUV ("UV", Int) = 0 - [HideInInspector]_Matcap0NormalMapScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector] s_end_MatcapNormal ("", Float) = 0 - [HideInInspector] s_start_MatcapHueShift ("Hue Shift--{reference_property:_MatcapHueShiftEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _MatcapHueShiftColorSpace ("Color Space", Int) = 0 - _MatcapHueShiftSpeed ("Shift Speed", Float) = 0 - _MatcapHueShift ("Hue Shift", Range(0, 1)) = 0 - [HideInInspector] s_end_MatcapHueShift ("", Float) = 0 - [HideInInspector] s_start_MatcapSmoothness ("Blur / Smoothness--{reference_property:_MatcapSmoothnessEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapSmoothnessEnabled ("Blur", Float) = 0 - _MatcapSmoothness ("Smoothness", Range(0, 1)) = 1 - [ToggleUI]_MatcapMaskSmoothnessApply ("Apply Mask for Smoothness", Float) = 0 - [Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskSmoothnessChannel ("Mask Channel for Smoothness", Int) = 3 - [HideInInspector] s_end_MatcapSmoothness ("", Float) = 0 - [HideInInspector] s_start_matcapApplyToAlpha ("Alpha Options--{persistent_expand:true,default_expand:false}", Float) = 0 - _MatcapAlphaOverride ("Override Alpha", Range(0, 1)) = 0 - [ToggleUI] _MatcapApplyToAlphaEnabled ("Intensity To Alpha", Float) = 0 - [ThryWideEnum(Greyscale, 0, Max, 1)] _MatcapApplyToAlphaSourceBlend ("Source Blend--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - [ThryWideEnum(Add, 0, Multiply, 1)] _MatcapApplyToAlphaBlendType ("Blend Type--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - _MatcapApplyToAlphaBlending ("Blending--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Range(0, 1)) = 1.0 - [HideInInspector] s_end_matcapApplyToAlpha ("", Float) = 0 - [HideInInspector] s_start_MatcapTPSMaskGroup ("Matcap TPS Mask--{reference_property:_MatcapTPSDepthEnabled,persistent_expand:true,default_expand:false, condition_showS:(_TPSPenetratorEnabled==1)}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapTPSDepthEnabled ("TPS Depth Mask Enabled", Float) = 0 - _MatcapTPSMaskStrength ("TPS Mask Strength", Range(0, 1)) = 1 - [HideInInspector] s_end_MatcapTPSMaskGroup ("", Float) = 0 - [HideInInspector] s_start_Matcap0AudioLink ("Audio Link ♫--{reference_property:_Matcap0ALEnabled,persistent_expand:true,default_expand:false, condition_showS:(_EnableAudioLink==1)}", Float) = 0 - [HideInInspector][ToggleUI] _Matcap0ALEnabled ("Enable Audio Link", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALAlphaAddBand ("Alpha Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALAlphaAdd ("Alpha Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALEmissionAddBand ("Emission Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALEmissionAdd ("Emission Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALIntensityAddBand ("Intensity Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALIntensityAdd ("Intensity Mod", Vector) = (0, 0, 0, 0) - [ThryWideEnum(Motion increases as intensity of band increases, 0, Above but Smooth, 1, Motion moves back and forth as a function of intensity, 2, Above but Smoooth, 3, Fixed speed increase when the band is dark Stationary when light, 4, Above but Smooooth, 5, Fixed speed increase when the band is dark Fixed speed decrease when light, 6, Above but Smoooooth, 7)]_Matcap0ALChronoPanType ("Chrono Pan Type--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALChronoPanBand ("Chrono Pan Band--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - _Matcap0ALChronoPanSpeed ("Chrono Pan Speed--{condition_showS:(_MatcapUVMode==3)}", Float) = 0 - [HideInInspector] s_end_Matcap0AudioLink ("Audio Link", Float) = 0 - [HideInInspector] m_end_matcap ("Matcap", Float) = 0 - [HideInInspector] m_OutlineCategory (" Outlines--{reference_property:_EnableOutlines,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/outlines/main},hover:Documentation}}", Float) = 0 - [HideInInspector] m_specialFXCategory ("Special FX", Float) = 0 - [HideInInspector] m_start_emissionOptions ("Emission 0--{reference_property:_EnableEmission,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/special-fx/emission},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(_EMISSION)]_EnableEmission ("Enable Emission 0", Float) = 0 - [sRGBWarning]_EmissionMask ("Emission Mask--{reference_properties:[_EmissionMaskPan, _EmissionMaskUV, _EmissionMaskChannel, _EmissionMaskInvert, _EmissionMask0GlobalMask]}", 2D) = "white" { } - [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _EmissionMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_EmissionMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_EmissionMaskInvert ("Invert", Float) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _EmissionMask0GlobalMask ("Global Mask--{reference_property:_EmissionMask0GlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_EmissionMask0GlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HDR]_EmissionColor ("Emission Color--{reference_property:_EmissionColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _EmissionColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_EmissionMap ("Emission Map--{reference_properties:[_EmissionMapPan, _EmissionMapUV]}", 2D) = "white" { } - [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _EmissionMapUV ("UV", Int) = 0 - _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 - [ToggleUI]_EmissionBaseColorAsMap ("Use Base Colors", Float) = 0 - [ToggleUI]_EmissionReplace0 ("Override Base Color", Float) = 0 - [HideInInspector] s_start_EmissionHueShift0 ("Color Adjust--{reference_property:_EmissionHueShiftEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _EmissionHueShiftColorSpace ("Color Space", Int) = 0 - _EmissionSaturation("Saturation", Range(-1, 10)) = 0 - _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 - _EmissionHueShiftSpeed ("Hue Shift Speed", Float) = 0 - [HideInInspector] s_end_EmissionHueShift0 ("", Float) = 0 - [HideInInspector] s_start_EmissionCenterOut0 ("Center Out--{reference_property:_EmissionCenterOutEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Center Out", Float) = 0 - _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 - [HideInInspector] s_end_EmissionCenterOut0 ("", Float) = 0 - [HideInInspector] s_start_EmissionLightBased0 ("Light Based--{reference_property:_EnableGITDEmission,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EnableGITDEmission ("Light Based", 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] s_end_EmissionLightBased0 ("", Float) = 0 - [HideInInspector] s_start_EmissionBlinking0 ("Blinking--{reference_property:_EmissionBlinkingEnabled,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("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] s_end_EmissionBlinking0 ("", Float) = 0 - [HideInInspector] s_start_ScrollingEmission0 ("Scrolling--{reference_property:_ScrollingEmission,persistent_expand:true,default_expand:false}", Float) = 0 - [HideInInspector][ToggleUI] _ScrollingEmission ("Scrolling", Float) = 0 - [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 - [Curve]_EmissionScrollingCurve ("Curve--{condition_showS:(_EmissionScrollingUseCurve==1)}", 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] s_end_ScrollingEmission0 ("", Float) = 0 - [Space(4)] - [ThryToggleUI(true)] _EmissionAL0Enabled (" Audio Link--{ condition_showS:_EnableAudioLink==1}", Float) = 0 - [HideInInspector] s_start_EmissionAL0Multiply ("Strength Multiply--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _EmissionAL0MultipliersBand ("Band", Int) = 0 - [VectorLabel(Min, Max)]_EmissionAL0Multipliers ("Multiplier", Vector) = (1, 1, 0, 0) - [HideInInspector] s_end_EmissionAL0Multiply ("Strength Multiply", Float) = 0 - [HideInInspector] s_start_EmissionAL0Add ("Strength Add--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _EmissionAL0StrengthBand ("Band", Int) = 0 - [VectorLabel(Min, Max)]_EmissionAL0StrengthMod ("Strength", Vector) = (0, 0, 0, 0) - [HideInInspector] s_end_EmissionAL0Add ("Strength Add", Float) = 0 - [HideInInspector] s_start_EmissionAL0COut ("Center Out--{persistent_expand:true,default_expand:false, condition_showS:(_EmissionAL0Enabled==1 && _EnableAudioLink==1)}", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _AudioLinkEmission0CenterOutBand ("Band", Int) = 0 - [VectorLabel(Min, Max)] _AudioLinkEmission0CenterOut ("Strength", Vector) = (0, 0, 0, 0) - _AudioLinkEmission0CenterOutSize ("Intensity Threshold", Range(0, 1)) = 0 - _AudioLinkEmission0CenterOutDuration ("Duration", Range(-1, 1)) = 1 - [HideInInspector] s_end_EmissionAL0COut ("Center Out", Float) = 0 - [HideInInspector] m_end_emissionOptions ("", Float) = 0 - [HideInInspector] m_modifierCategory ("Global Modifiers & Data", Float) = 0 - [HideInInspector] m_start_PoiGlobalCategory ("Global Data and Masks", Float) = 0 - [HideInInspector] m_start_GlobalThemes ("Global Themes--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/global-themes},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HDR]_GlobalThemeColor0 ("Theme Color 0", Color ) = (1, 1, 1, 1) - _GlobalThemeHue0 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed0 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation0 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue0 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HDR]_GlobalThemeColor1 ("Theme Color 1", Color ) = (1, 1, 1, 1) - _GlobalThemeHue1 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed1 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation1 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue1 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HDR]_GlobalThemeColor2 ("Theme Color 2", Color ) = (1, 1, 1, 1) - _GlobalThemeHue2 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed2 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation2 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue2 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HDR]_GlobalThemeColor3 ("Theme Color 3", Color ) = (1, 1, 1, 1) - _GlobalThemeHue3 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed3 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation3 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue3 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HideInInspector] m_end_GlobalThemes ("Global Themes", Float ) = 0 - [HideInInspector] m_start_GlobalMask ("Global Mask--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/modifiers/global-masks},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalMaskModifiers ("Modifiers", Float) = 0 - [HideInInspector] m_end_GlobalMaskModifiers ("", Float) = 0 - [HideInInspector] m_end_GlobalMask ("Global Mask", Float) = 0 - [HideInInspector] m_end_PoiGlobalCategory ("Global Data and Masks ", Float) = 0 - [HideInInspector] m_start_PoiUVCategory ("UVs", Float) = 0 - [HideInInspector] m_start_Stochastic ("Stochastic Sampling", Float) = 0 - [KeywordEnum(Deliot Heitz, Hextile, None)] _StochasticMode ("Sampling Mode", Float) = 0 - [HideInInspector] s_start_deliot ("Deliot Heitz--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==0}}", Float) = 0 - _StochasticDeliotHeitzDensity ("Detiling Density", Range(0.1, 10)) = 1 - [HideInInspector] s_end_deliot ("Deliot Heitz", Float) = 0 - [HideInInspector] s_start_hextile ("Hextile--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==1}}", Float) = 0 - _StochasticHexGridDensity ("Hex Grid Density", Range(0.1, 10)) = 1 - _StochasticHexRotationStrength ("Rotation Strength", Range(0, 2)) = 0 - _StochasticHexFallOffContrast("Falloff Contrast", Range(0.01, 0.99)) = 0.6 - _StochasticHexFallOffPower("Falloff Power", Range(0, 20)) = 7 - [HideInInspector] s_end_hextile ("Hextile", Float) = 0 - [HideInInspector] m_end_Stochastic ("Stochastic Sampling", Float) = 0 - [HideInInspector] m_start_uvLocalWorld ("Local World UV", Float) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos0 ("Local X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos1 ("Local Y", Int) = 1 - [Space(10)] - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos0 ("World X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos1 ("World Y", Int) = 2 - [HideInInspector] m_end_uvLocalWorld ("Local World UV", Float) = 0 - [HideInInspector] m_start_uvPanosphere ("Panosphere UV", Float) = 0 - [ToggleUI] _StereoEnabled ("Stereo Enabled", Float) = 0 - [ToggleUI] _PanoUseBothEyes ("Perspective Correct (VR)", Float) = 1 - [HideInInspector] m_end_uvPanosphere ("Panosphere UV", Float) = 0 - [HideInInspector] m_start_uvPolar ("Polar UV", Float) = 0 - [ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8)] _PolarUV ("UV", Int) = 0 - [Vector2]_PolarCenter ("Center Coordinate", Vector) = (.5, .5, 0, 0) - _PolarRadialScale ("Radial Scale", Float) = 1 - _PolarLengthScale ("Length Scale", Float) = 1 - _PolarSpiralPower ("Spiral Power", Float) = 0 - [HideInInspector] m_end_uvPolar ("Polar UV", Float) = 0 - [HideInInspector] m_end_PoiUVCategory ("UVs ", Float) = 0 - [HideInInspector] m_start_PoiPostProcessingCategory ("Post Processing", Float) = 0 - [HideInInspector] m_start_PPAnimations ("PP Animations--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/post-processing/pp-animations},hover:Documentation}}", Float) = 0 - [Helpbox(1)] _PPHelp ("This section meant for real time adjustments through animations and not to be changed in unity", Int) = 0 - _PPLightingMultiplier ("Lighting Mulitplier", Float) = 1 - _PPLightingAddition ("Lighting Add", Float) = 0 - _PPEmissionMultiplier ("Emission Multiplier", Float) = 1 - _PPFinalColorMultiplier ("Final Color Multiplier", Float) = 1 - [HideInInspector] m_end_PPAnimations ("PP Animations ", Float) = 0 - [HideInInspector] m_end_PoiPostProcessingCategory ("Post Processing ", Float) = 0 - [HideInInspector] m_thirdpartyCategory ("Third Party", Float) = 0 - [HideInInspector] m_renderingCategory ("Rendering--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/main},hover:Documentation}}", 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]_RenderingReduceClipDistance ("Reduce Clip Distance", Float) = 0 - [ToggleUI] _ZClip ("Z Clip", Float) = 1 - [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 - [ToggleUI]_FlipBackfaceNormals ("Flip Backface Normals", Int) = 1 - [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown - [ToggleUI] _RenderingEarlyZEnabled ("Early Z", Float) = 0 - [HideInInspector] m_start_blending ("Blending--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/blending},hover:Documentation}}", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("RGB Destination Blend", Int) = 0 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOp ("RGB Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlend ("RGB Destination Blend", Int) = 1 - [HideInInspector] m_start_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("Alpha Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("Alpha Destination Blend", Int) = 10 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOpAlpha ("Alpha Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlendAlpha ("Alpha Source Blend", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlendAlpha ("Alpha Destination Blend", Int) = 1 - [HideInInspector] m_end_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [HideInInspector] m_end_blending ("Blending", Float) = 0 - [HideInInspector] m_start_StencilPassOptions ("Stencil--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/stencil},hover:Documentation}}", Float) = 0 - [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _StencilType ("Stencil Type", 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--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 - [HideInInspector] m_start_StencilPassBackOptions("Back--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackPassOp ("Back Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackFailOp ("Back Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackZFailOp ("Back ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilBackCompareFunction ("Back Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassBackOptions("Back", Float) = 0 - [HideInInspector] m_start_StencilPassFrontOptions("Front--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontPassOp ("Front Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontFailOp ("Front Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontZFailOp ("Front ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilFrontCompareFunction ("Front Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassFrontOptions("Front", Float) = 0 - [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 - } - SubShader - { - Tags { "RenderType" = "Opaque" "Queue" = "Geometry" "VRCFallback" = "Standard" } - Pass - { - Name "Base" - Tags { "LightMode" = "ForwardBase" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdbase - #pragma multi_compile_instancing - #pragma multi_compile_fog - #pragma multi_compile_fragment _ VERTEXLIGHT_ON - #define POI_PASS_BASE - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - #ifdef _EMISSION - #if defined(PROP_EMISSIONMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionMap; - #endif - float4 _EmissionMap_ST; - float2 _EmissionMapPan; - float _EmissionMapUV; - #if defined(PROP_EMISSIONMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionMask; - #endif - float4 _EmissionMask_ST; - float2 _EmissionMaskPan; - float _EmissionMaskUV; - float _EmissionMaskInvert; - float _EmissionMaskChannel; - float _EmissionMask0GlobalMask; - float _EmissionMask0GlobalMaskBlendType; - #if defined(PROP_EMISSIONSCROLLINGCURVE) || !defined(OPTIMIZER_ENABLED) - Texture2D _EmissionScrollingCurve; - #endif - float4 _EmissionScrollingCurve_ST; - float4 _EmissionColor; - float _EmissionBaseColorAsMap; - float _EmissionStrength; - float _EmissionHueShiftEnabled; - float _EmissionHueShiftColorSpace; - float _EmissionSaturation; - float _EmissionHueShift; - float _EmissionHueShiftSpeed; - float _EmissionCenterOutEnabled; - float _EmissionCenterOutSpeed; - float _EnableGITDEmission; - float _GITDEWorldOrMesh; - float _GITDEMinEmissionMultiplier; - float _GITDEMaxEmissionMultiplier; - float _GITDEMinLight; - float _GITDEMaxLight; - float _EmissionBlinkingEnabled; - float _EmissiveBlink_Min; - float _EmissiveBlink_Max; - float _EmissiveBlink_Velocity; - float _EmissionBlinkingOffset; - float _ScrollingEmission; - float4 _EmissiveScroll_Direction; - float _EmissiveScroll_Width; - float _EmissiveScroll_Velocity; - float _EmissiveScroll_Interval; - float _EmissionScrollingOffset; - float _EmissionReplace0; - float _EmissionScrollingVertexColor; - float _EmissionScrollingUseCurve; - float _EmissionColorThemeIndex; - float _EmissionAL0Enabled; - float2 _EmissionAL0StrengthMod; - float _EmissionAL0StrengthBand; - float2 _AudioLinkEmission0CenterOut; - float _AudioLinkEmission0CenterOutSize; - float _AudioLinkEmission0CenterOutBand; - float _AudioLinkEmission0CenterOutDuration; - float2 _EmissionAL0Multipliers; - float _EmissionAL0MultipliersBand; - #endif - float _PPLightingMultiplier; - float _PPLightingAddition; - float _PPEmissionMultiplier; - float _PPFinalColorMultiplier; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 8192) mipCount0 = 13; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 4096) mipCount0 = 12; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 2048) mipCount0 = 11; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 1024) mipCount0 = 10; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 512) mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 256) mipCount0 = 8; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 128) mipCount0 = 7; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 64) mipCount0 = 6; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (0.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (0.234 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled, in float worldOrMesh, in PoiLight poiLight) - { - float glowInTheDarkMultiplier = 1; - if (enabled) - { - float3 lightValue = worldOrMesh ? calculateluminance(poiLight.finalLighting.rgb) : calculateluminance(poiLight.directColor.rgb); - float gitdeAlpha = saturate(inverseLerp(minLight, maxLight, lightValue)); - glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); - } - return glowInTheDarkMultiplier; - } - float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) - { - scrollWidth = max(scrollWidth, 0); - float phase = 0; - phase = dot(position, direction); - phase -= (_Time.y + offset) * velocity; - phase /= interval; - phase -= floor(phase); - phase = saturate(phase); - return (pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; - } - float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) - { - float amplitude = (blinkMax - blinkMin) * 0.5f; - float base = blinkMin + amplitude; - return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; - } - void applyALEmmissionStrength(in PoiMods poiMods, inout float emissionStrength, in float2 emissionStrengthMod, in float emissionStrengthBand, in float2 _EmissionALMultipliers, in float _EmissionALMultipliersBand, in float enabled) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable && enabled) - { - emissionStrength += lerp(emissionStrengthMod.x, emissionStrengthMod.y, poiMods.audioLink[emissionStrengthBand]); - emissionStrength *= lerp(_EmissionALMultipliers.x, _EmissionALMultipliers.y, poiMods.audioLink[_EmissionALMultipliersBand]); - } - #endif - } - void applyALCenterOutEmission(in PoiMods poiMods, in float nDotV, inout float emissionStrength, in float size, in float band, in float2 emissionToAdd, in float enabled, in float duration) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable && enabled) - { - float intensity; - [flatten] - if (duration >= 0) - { - intensity = getBandAtTime(band, saturate(remap(nDotV, 1, 0, 0, duration)), size); - } - else - { - duration *= -1; - intensity = getBandAtTime(band, saturate(remap(pow(nDotV, 2), 0, 1 + duration, 0, duration)), size); - } - emissionStrength += lerp(emissionToAdd[0], emissionToAdd[1], intensity); - } - #endif - } - #ifdef _EMISSION - float3 applyEmission(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiLight poiLight, in PoiCam poiCam, in PoiMods poiMods) - { - float3 emission0 = 0; - float emissionStrength0 = _EmissionStrength; - float3 emissionColor0 = 0; - applyALEmmissionStrength(poiMods, emissionStrength0, float4(0,0,0,0), (0.0 /*_EmissionAL0StrengthBand*/), float4(1,1,0,0), (0.0 /*_EmissionAL0MultipliersBand*/), (0.0 /*_EmissionAL0Enabled*/)); - applyALCenterOutEmission(poiMods, poiLight.nDotV, emissionStrength0, (0.0 /*_AudioLinkEmission0CenterOutSize*/), (0.0 /*_AudioLinkEmission0CenterOutBand*/), float4(0,0,0,0), (0.0 /*_EmissionAL0Enabled*/), (1.0 /*_AudioLinkEmission0CenterOutDuration*/)); - float glowInTheDarkMultiplier0 = calculateGlowInTheDark((0.0 /*_GITDEMinLight*/), (1.0 /*_GITDEMaxLight*/), (1.0 /*_GITDEMinEmissionMultiplier*/), (0.0 /*_GITDEMaxEmissionMultiplier*/), (0.0 /*_EnableGITDEmission*/), (0.0 /*_GITDEWorldOrMesh*/), poiLight); - #if defined(PROP_EMISSIONMAP) || !defined(OPTIMIZER_ENABLED) - if (!(0.0 /*_EmissionCenterOutEnabled*/)) - { - emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_EmissionMapUV*/)], float4(1,1,0,0)), float4(0,0,0,0)).rgb * lerp(1, poiFragData.baseColor, (0.0 /*_EmissionBaseColorAsMap*/)).rgb * poiThemeColor(poiMods, float4(1,0.7215686,0.9535657,1).rgb, (0.0 /*_EmissionColorThemeIndex*/)); - } - else - { - emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * (5.0 /*_EmissionCenterOutSpeed*/)).rgb * lerp(1, poiFragData.baseColor, (0.0 /*_EmissionBaseColorAsMap*/)).rgb * poiThemeColor(poiMods, float4(1,0.7215686,0.9535657,1).rgb, (0.0 /*_EmissionColorThemeIndex*/)); - } - #else - emissionColor0 = lerp(1, poiFragData.baseColor, (0.0 /*_EmissionBaseColorAsMap*/)).rgb * poiThemeColor(poiMods, float4(1,0.7215686,0.9535657,1).rgb, (0.0 /*_EmissionColorThemeIndex*/)); - #endif - if ((0.0 /*_ScrollingEmission*/)) - { - float3 pos = poiMesh.localPos; - if ((0.0 /*_EmissionScrollingVertexColor*/)) - { - pos = poiMesh.vertexColor.rgb; - } - if ((0.0 /*_EmissionScrollingUseCurve*/)) - { - #if defined(PROP_EMISSIONSCROLLINGCURVE) || !defined(OPTIMIZER_ENABLED) - emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, poiUV(poiMesh.uv[(0.0 /*_EmissionMapUV*/)], float4(1,1,0,0)) + (dot(pos, float4(0,-10,0,0).xyz) * (20.0 /*_EmissiveScroll_Interval*/)) + _Time.x * (10.0 /*_EmissiveScroll_Velocity*/)).r; - #endif - } - else - { - emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0).xyz, (10.0 /*_EmissiveScroll_Velocity*/), (20.0 /*_EmissiveScroll_Interval*/), (10.0 /*_EmissiveScroll_Width*/), (0.0 /*_EmissionScrollingOffset*/), pos); - } - } - if ((0.0 /*_EmissionBlinkingEnabled*/)) - { - emissionStrength0 *= calculateBlinkingEmission((0.0 /*_EmissiveBlink_Min*/), (1.0 /*_EmissiveBlink_Max*/), (4.0 /*_EmissiveBlink_Velocity*/), (0.0 /*_EmissionBlinkingOffset*/)); - } - emissionColor0 = hueShift(emissionColor0, frac((0.0 /*_EmissionHueShift*/) + (0.0 /*_EmissionHueShiftSpeed*/) * _Time.x) * (0.0 /*_EmissionHueShiftEnabled*/), (0.0 /*_EmissionHueShiftColorSpace*/)); - emissionColor0 = lerp(emissionColor0, dot(emissionColor0, float3(0.3, 0.59, 0.11)), - ((0.0 /*_EmissionSaturation*/)) * (0.0 /*_EmissionHueShiftEnabled*/)); - #if defined(PROP_EMISSIONMASK) || !defined(OPTIMIZER_ENABLED) - float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_EmissionMaskUV*/)], float4(1,1,0,0)) + _Time.x * float4(0,0,0,0))[(0.0 /*_EmissionMaskChannel*/)]; - #else - float emissionMask0 = 1; - #endif - if ((0.0 /*_EmissionMaskInvert*/)) - { - emissionMask0 = 1 - emissionMask0; - } - if ((0.0 /*_EmissionMask0GlobalMask*/) > 0) - { - emissionMask0 = maskBlend(emissionMask0, poiMods.globalMask[(0.0 /*_EmissionMask0GlobalMask*/) - 1], (2.0 /*_EmissionMask0GlobalMaskBlendType*/)); - } - emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; - emission0 = max(emissionStrength0 * emissionColor0, 0); - #ifdef POI_DISSOLVE - if (_DissolveEmissionSide != 2) - { - emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, _DissolveEmissionSide); - } - #endif - poiFragData.emission += emission0; - return emission0 * (0.0 /*_EmissionReplace0*/); - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - #if defined(_EMISSION) || defined(POI_EMISSION_1) || defined(POI_EMISSION_2) || defined(POI_EMISSION_3) - float3 emissionBaseReplace = 0; - #endif - #ifdef _EMISSION - emissionBaseReplace += applyEmission(poiFragData, poiMesh, poiLight, poiCam, poiMods); - #endif - #if defined(_EMISSION) || defined(POI_EMISSION_1) || defined(POI_EMISSION_2) || defined(POI_EMISSION_3) - poiFragData.finalColor.rgb = lerp(poiFragData.finalColor.rgb, saturate(emissionBaseReplace), poiMax(emissionBaseReplace)); - #endif - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - #ifdef UNITY_PASS_FORWARDBASE - poiFragData.emission = max(poiFragData.emission * (1.0 /*_PPEmissionMultiplier*/), 0); - poiFragData.finalColor = max(poiFragData.finalColor * (1.0 /*_PPFinalColorMultiplier*/), 0); - #endif - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - return float4(poiFragData.finalColor + poiFragData.emission * poiMods.globalEmission, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "Add" - Tags { "LightMode" = "ForwardAdd" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite Off - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_AddBlendOp], [_AddBlendOpAlpha] - Blend [_AddSrcBlend] [_AddDstBlend], [_AddSrcBlendAlpha] [_AddDstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdadd_fullshadows - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define POI_PASS_ADD - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 8192) mipCount0 = 13; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 4096) mipCount0 = 12; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 2048) mipCount0 = 11; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 1024) mipCount0 = 10; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 512) mipCount0 = 9; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 256) mipCount0 = 8; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 128) mipCount0 = 7; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 64) mipCount0 = 6; - if (float4(0.0004882813,0.0004882813,2048,2048).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (0.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (0.234 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - if ((4.0 /*_AddBlendOp*/) == 4) - { - poiFragData.alpha = saturate(poiFragData.alpha * (10.0 /*_AlphaBoostFA*/)); - } - if ((0.0 /*_Mode*/) != POI_MODE_TRANSPARENT) - { - poiFragData.finalColor *= poiFragData.alpha; - } - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "ShadowCaster" - Tags { "LightMode" = "ShadowCaster" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask Off - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _EMISSION - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define PROP_EMISSIONMAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_instancing - #pragma multi_compile_shadowcaster - #pragma multi_compile_fog - #define POI_PASS_SHADOW - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, _Color.rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * _Color.a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - poiFragData.finalColor = poiFragData.baseColor; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - } - CustomEditor "Thry.ShaderEditor" -} diff --git a/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader.meta b/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader.meta deleted file mode 100644 index 02df356..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Diamond/Poiyomi Toon.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 8e8b1a84168c78443814d63e0ea5122a -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Heart.meta b/Partner Rings/internal/Material/OptimizedShaders/Heart.meta deleted file mode 100644 index 212ee26..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Heart.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ac6dbac4f720c8844b8ab89a53e5a9e2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader b/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader deleted file mode 100644 index 194dfed..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader +++ /dev/null @@ -1,8689 +0,0 @@ -Shader "Hidden/Locked/.poiyomi/Poiyomi Toon/18116ce44ea88da43a3fc0a1718711c3" -{ - Properties - { - [HideInInspector] shader_master_label ("Poiyomi 9.0.61", Float) = 0 - [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 - [HideInInspector] shader_locale ("0db0b86376c3dca4b9a6828ef8615fe0", Float) = 0 - [HideInInspector] footer_youtube ("{texture:{name:icon-youtube,height:16},action:{type:URL,data:https://www.youtube.com/poiyomi},hover:YOUTUBE}", Float) = 0 - [HideInInspector] footer_twitter ("{texture:{name:icon-twitter,height:16},action:{type:URL,data:https://twitter.com/poiyomi},hover:TWITTER}", Float) = 0 - [HideInInspector] footer_patreon ("{texture:{name:icon-patreon,height:16},action:{type:URL,data:https://www.patreon.com/poiyomi},hover:PATREON}", Float) = 0 - [HideInInspector] footer_discord ("{texture:{name:icon-discord,height:16},action:{type:URL,data:https://discord.gg/Ays52PY},hover:DISCORD}", Float) = 0 - [HideInInspector] footer_github ("{texture:{name:icon-github,height:16},action:{type:URL,data:https://github.com/poiyomi/PoiyomiToonShader},hover:GITHUB}", Float) = 0 - [Header(POIYOMI SHADER UI FAILED TO LOAD)] - [Header(. This is caused by scripts failing to compile. It can be fixed.)] - [Header(. The inspector will look broken and will not work properly until fixed.)] - [Header(. Please check your console for script errors.)] - [Header(. You can filter by errors in the console window.)] - [Header(. Often the topmost error points to the erroring script.)] - [Space(30)][Header(Common Error Causes)] - [Header(. Installing multiple Poiyomi Shader packages)] - [Header(. Make sure to delete the Poiyomi shader folder before you update Poiyomi.)] - [Header(. If a package came with Poiyomi this is bad practice and can cause issues.)] - [Header(. Delete the package and import it without any Poiyomi components.)] - [Header(. Bad VRCSDK installation (e.g. Both VCC and Standalone))] - [Header(. Delete the VRCSDK Folder in Assets if you are using the VCC.)] - [Header(. Avoid using third party SDKs. They can cause incompatibility.)] - [Header(. Script Errors in other scripts)] - [Header(. Outdated tools or prefabs can cause this.)] - [Header(. Update things that are throwing errors or move them outside the project.)] - [Space(30)][Header(Visit Our Discord to Ask For Help)] - [Space(5)]_ShaderUIWarning0 (" → discord.gg/poiyomi ← We can help you get it fixed! --{condition_showS:(0==1)}", Int) = -0 - [Space(1400)][Header(POIYOMI SHADER UI FAILED TO LOAD)] - _ShaderUIWarning1 ("Please scroll up for more information! --{condition_showS:(0==1)}", Int) = -0 - [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 - [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 1 - [HideInInspector] GeometryShader_Enabled("GEOMETRY SHADER ENABLED", Float) = 1 - [HideInInspector] Tessellation_Enabled("TESSELLATION ENABLED", Float) = 1 - [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:_AlphaForceOpaque=1}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=0}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2460},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.01}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.002}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=4}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=4}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=3}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]} - }]}]}", Int) = 0 - [HideInInspector] m_mainCategory ("Color & Normals--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/main},hover:Documentation}}", Float) = 0 - _Color ("Color & Alpha--{reference_property:_ColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _ColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)]_MainTex ("Texture--{reference_properties:[_MainTexPan, _MainTexUV, _MainPixelMode, _MainTexStochastic]}", 2D) = "white" { } - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MainTexUV ("UV", Int) = 0 - [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ToggleUI]_MainPixelMode ("Pixel Mode", Float) = 0 - [HideInInspector][ToggleUI]_MainTexStochastic ("Stochastic Sampling", Float) = 0 - [Normal]_BumpMap ("Normal Map--{reference_properties:[_BumpMapPan, _BumpMapUV, _BumpScale, _BumpMapStochastic]}", 2D) = "bump" { } - [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _BumpMapUV ("UV", Int) = 0 - [HideInInspector]_BumpScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector][ToggleUI]_BumpMapStochastic ("Stochastic Sampling", Float) = 0 - [sRGBWarning]_AlphaMask ("Alpha Map--{reference_properties:[_AlphaMaskPan, _AlphaMaskUV, _AlphaMaskInvert, _MainAlphaMaskMode, _AlphaMaskBlendStrength, _AlphaMaskValue], alts:[_AlphaMap]}", 2D) = "white" { } - [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _AlphaMaskUV ("UV", Int) = 0 - [HideInInspector][ThryWideEnum(Off, 0, Replace, 1, Multiply, 2, Add, 3, Subtract, 4)]_MainAlphaMaskMode ("Blend Mode", Int) = 2 - [HideInInspector]_AlphaMaskBlendStrength ("Blend Strength", Float) = 1 - [HideInInspector]_AlphaMaskValue ("Blend Offset", Float) = 0 - [HideInInspector][ToggleUI]_AlphaMaskInvert ("Invert", Float) = 0 - _Cutoff ("Alpha Cutoff", Range(0, 1.001)) = 0.5 - [HideInInspector] m_start_Alpha ("Alpha Options--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/alpha-options},hover:Documentation}}", Float) = 0 - [ToggleUI]_AlphaForceOpaque ("Force Opaque", Float) = 1 - _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _AlphaGlobalMask ("Global Mask--{reference_property:_AlphaGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _AlphaGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 - [HideInInspector] m_lightingCategory ("Shading", Float) = 0 - [HideInInspector] m_start_PoiLightData ("Light Data--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/light-data},hover:Documentation}}", Float) = 0 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingAOMaps ("AO Maps (expand)--{reference_properties:[_LightingAOMapsPan, _LightingAOMapsUV,_LightDataAOStrengthR,_LightDataAOStrengthG,_LightDataAOStrengthB,_LightDataAOStrengthA, _LightDataAOGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingAOMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingAOMapsUV ("UV", Int) = 0 - [HideInInspector]_LightDataAOStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightDataAOStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataAOGlobalMaskR ("Global Mask--{reference_property:_LightDataAOGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataAOGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingDetailShadowMaps ("Shadow Map (expand)--{reference_properties:[_LightingDetailShadowMapsPan, _LightingDetailShadowMapsUV,_LightingDetailShadowStrengthR,_LightingDetailShadowStrengthG,_LightingDetailShadowStrengthB,_LightingDetailShadowStrengthA,_LightingAddDetailShadowStrengthR,_LightingAddDetailShadowStrengthG,_LightingAddDetailShadowStrengthB,_LightingAddDetailShadowStrengthA, _LightDataDetailShadowGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingDetailShadowMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingDetailShadowMapsUV ("UV", Int) = 0 - [HideInInspector]_LightingDetailShadowStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingDetailShadowStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthR ("Additive R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingAddDetailShadowStrengthG ("Additive G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthB ("Additive B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthA ("Additive A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataDetailShadowGlobalMaskR ("Global Mask--{reference_property:_LightDataDetailShadowGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataDetailShadowGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingShadowMasks ("Shadow Masks (expand)--{reference_properties:[_LightingShadowMasksPan, _LightingShadowMasksUV,_LightingShadowMaskStrengthR,_LightingShadowMaskStrengthG,_LightingShadowMaskStrengthB,_LightingShadowMaskStrengthA, _LightDataShadowMaskGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingShadowMasksPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingShadowMasksUV ("UV", Int) = 0 - [HideInInspector]_LightingShadowMaskStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingShadowMaskStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataShadowMaskGlobalMaskR ("Global Mask--{reference_property:_LightDataShadowMaskGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataShadowMaskGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_start_LightDataBasePass ("Base Pass (Directional & Baked Lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [Enum(Poi Custom, 0, Standard, 1, UTS2, 2, OpenLit(lil toon), 3)] _LightingColorMode ("Light Color Mode", Int) = 0 - [Enum(Poi Custom, 0, Normalized NDotL, 1, Saturated NDotL, 2, Casted Shadows Only, 3)] _LightingMapMode ("Light Map Mode", Int) = 0 - [Enum(Poi Custom, 0, Forced Local Direction, 1, Forced World Direction, 2, UTS2, 3, OpenLit(lil toon), 4, View Direction, 5)] _LightingDirectionMode ("Light Direction Mode", Int) = 0 - [Vector3]_LightngForcedDirection ("Forced Direction--{condition_showS:(_LightingDirectionMode==1 || _LightingDirectionMode==2)}", Vector) = (0, 0, 0) - _LightingViewDirOffsetPitch ("View Dir Offset Pitch--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - _LightingViewDirOffsetYaw ("View Dir Offset Yaw--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - [ToggleUI]_LightingForceColorEnabled ("Force Light Color", Float) = 0 - _LightingForcedColor ("Forced Color--{condition_showS:(_LightingForceColorEnabled==1), reference_property:_LightingForcedColorThemeIndex}", Color) = (1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _LightingForcedColorThemeIndex ("", Int) = 0 - _Unlit_Intensity ("Unlit_Intensity--{condition_showS:(_LightingColorMode==2)}", Range(0.001, 4)) = 1 - [ToggleUI]_LightingCapEnabled ("Limit Brightness", Float) = 1 - _LightingCap ("Max Brightness--{condition_showS:(_LightingCapEnabled==1)}", Range(0, 10)) = 1 - _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 - _LightingIndirectUsesNormals ("Indirect Uses Normals--{condition_showS:(_LightingColorMode==0)}", Range(0, 1)) = 0 - _LightingCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 0 - _LightingMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - [ToggleUI]_LightingVertexLightingEnabled ("Vertex lights (Non-Important)", Float) = 1 - [ToggleUI]_LightingMirrorVertexLightingEnabled ("Mirror Vertex lights (Non-Important)", Float) = 1 - [HideInInspector] s_end_LightDataBasePass ("Base Pass", Float) = 1 - [HideInInspector] s_start_LightDataAddPass ("Add Pass (Point & Spot lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [ToggleUI]_LightingAdditiveEnable ("Pixel lights (Important)", Float) = 1 - [ToggleUI]_DisableDirectionalInAdd ("Ignore Directional--{condition_showS:(_LightingAdditiveEnable==1)}", Float) = 1 - [ToggleUI]_LightingAdditiveLimited ("Limit Brightness", Float) = 1 - _LightingAdditiveLimit ("Max Brightness--{condition_showS:(_LightingAdditiveLimited==1)}", Range(0, 10)) = 1 - _LightingAdditiveCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 1 - _LightingAdditiveMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - _LightingAdditivePassthrough ("Point Light Passthrough--{condition_showS:(_LightingAdditiveEnable==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_LightDataAddPass ("Add Pass", Float) = 1 - [HideInInspector] s_start_LightDataDebug ("Debug / Data Visualizations--{reference_property:_LightDataDebugEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][NoAnimate][ThryToggleUI(false)]_LightDataDebugEnabled ("Debug", Float) = 0 - [ThryWideEnum(Direct Color, 0, Indirect Color, 1, Light Map, 2, Attenuation, 3, N Dot L, 4, Half Dir, 5, Direction, 6, Add Color, 7, Add Attenuation, 8, Add Shadow, 9, Add N Dot L, 10)] _LightingDebugVisualize ("Visualize", Int) = 0 - [HideInInspector] s_end_LightDataDebug ("Debug", Float) = 0 - [HideInInspector] m_end_PoiLightData ("Light Data", Float) = 0 - [HideInInspector] m_start_PoiShading (" Shading--{reference_property:_ShadingEnabled,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/main},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(VIGNETTE_MASKED)]_ShadingEnabled ("Enable Shading", Float) = 1 - [KeywordEnum(TextureRamp, Multilayer Math, Wrapped, Skin, ShadeMap, Flat, Realistic, Cloth, SDF)] _LightingMode ("Lighting Type", Float) = 5 - _LightingShadowColor ("Shadow Tint--{condition_showS:(_LightingMode!=4 && _LightingMode!=1 && _LightingMode!=5)}", Color) = (1, 1, 1) - [ToggleUI]_ForceFlatRampedLightmap ("Force Ramped Lightmap--{condition_showS:(_LightingMode==5)}", Range(0, 1)) = 1 - _ShadowStrength ("Shadow Strength--{condition_showS:(_LightingMode<=4 || _LightingMode==8)}", Range(0, 1)) = 1 - _LightingIgnoreAmbientColor ("Ignore Indirect Shadow Color--{condition_showS:(_LightingMode<=3 || _LightingMode==8)}", Range(0, 1)) = 1 - [Space(15)] - [HideInInspector] s_start_ShadingAddPass ("Add Pass (Point & Spot Lights)--{persistent_expand:true,default_expand:false}", Float) = 0 - [Enum(Realistic, 0, Toon, 1, Same as Base Pass, 3)] _LightingAdditiveType ("Lighting Type", Int) = 3 - _LightingAdditiveGradientStart ("Gradient Start--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = 0 - _LightingAdditiveGradientEnd ("Gradient End--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_ShadingAddPass ("Add Pass", Float) = 0 - [HideInInspector] s_start_ShadingGlobalMask ("Global Masks--{persistent_expand:true,default_expand:false}", Float) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapApplyGlobalMaskIndex ("LightMap to Global Mask--{reference_property:_ShadingRampedLightMapApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapApplyGlobalMaskBlendType ("Blending", Int) = 2 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapInverseApplyGlobalMaskIndex ("Inversed LightMap to Global Mask--{reference_property:_ShadingRampedLightMapInverseApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapInverseApplyGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] s_end_ShadingGlobalMask ("Global Masks", Float) = 0 - [HideInInspector] m_end_PoiShading ("Shading", Float) = 0 - [HideInInspector] m_start_matcap ("Matcap 0--{reference_property:_MatcapEnable,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/matcap},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0)]_MatcapEnable ("Enable Matcap}", Float) = 0 - [ThryWideEnum(UTS Style, 0, Top Pinch, 1, Double Sided, 2, Gradient, 3)] _MatcapUVMode ("UV Mode", Int) = 1 - _MatcapColor ("Color--{reference_property:_MatcapColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _MatcapColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_Matcap ("Matcap--{reference_properties:[_MatcapUVToBlend, _MatCapBlendUV1, _MatcapPan, _MatcapBorder, _MatcapRotation]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapUVToBlend ("UV To Blend", Int) = 1 - [HideInInspector][VectorToSliders(Blend UV X, 0.0, 1.0, Blend UV Y, 0.0, 1.0)]_MatCapBlendUV1 ("UV Blend", Vector) = (0, 0, 0, 0) - [HideInInspector]_MatcapBorder ("Border", Range(0, 5)) = 0.43 - [HideInInspector]_MatcapRotation ("Rotation", Range(-1, 1)) = 0 - _MatcapIntensity ("Intensity", Range(0, 5)) = 1 - _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 - _MatcapBaseColorMix ("Base Color Mix", Range(0, 1)) = 0 - _MatcapNormal ("Normal Strength", Range(0, 1)) = 1 - [HideInInspector] s_start_Matcap0Masking ("Masking--{persistent_expand:true,default_expand:true}", Float) = 1 - [sRGBWarning][ThryRGBAPacker(R Mask, G Nothing, B Nothing, A Smoothness, linear, false)]_MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskChannel, _MatcapMaskInvert]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_MatcapMaskInvert ("Invert", Float) = 0 - _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _MatcapMaskGlobalMask (" Global Mask--{reference_property:_MatcapMaskGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_MatcapMaskGlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_end_Matcap0Masking ("Masking", Float) = 0 - [HideInInspector] s_start_Matcap0Blending ("Blending--{persistent_expand:true,default_expand:true}", Float) = 1 - _MatcapReplace ("Replace", Range(0, 1)) = 1 - _MatcapMultiply ("Multiply", Range(0, 1)) = 0 - _MatcapAdd ("Add", Range(0, 1)) = 0 - _MatcapMixed ("Mixed", Range(0, 1)) = 0 - _MatcapScreen ("Screen", Range(0, 1)) = 0 - _MatcapAddToLight ("Unlit Add", Range(0, 1)) = 0 - [HideInInspector] s_end_Matcap0Blending ("Blending", Float) = 0 - [HideInInspector] s_start_MatcapNormal ("Custom Normal Map--{reference_property:_Matcap0CustomNormal,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0_CUSTOM_NORMAL, true)] _Matcap0CustomNormal ("Custom Normal", Float) = 0 - [Normal]_Matcap0NormalMap ("Normal Map--{reference_properties:[_Matcap0NormalMapPan, _Matcap0NormalMapUV, _Matcap0NormalMapScale]}", 2D) = "bump" { } - [HideInInspector][Vector2]_Matcap0NormalMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _Matcap0NormalMapUV ("UV", Int) = 0 - [HideInInspector]_Matcap0NormalMapScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector] s_end_MatcapNormal ("", Float) = 0 - [HideInInspector] s_start_MatcapHueShift ("Hue Shift--{reference_property:_MatcapHueShiftEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _MatcapHueShiftColorSpace ("Color Space", Int) = 0 - _MatcapHueShiftSpeed ("Shift Speed", Float) = 0 - _MatcapHueShift ("Hue Shift", Range(0, 1)) = 0 - [HideInInspector] s_end_MatcapHueShift ("", Float) = 0 - [HideInInspector] s_start_MatcapSmoothness ("Blur / Smoothness--{reference_property:_MatcapSmoothnessEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapSmoothnessEnabled ("Blur", Float) = 0 - _MatcapSmoothness ("Smoothness", Range(0, 1)) = 1 - [ToggleUI]_MatcapMaskSmoothnessApply ("Apply Mask for Smoothness", Float) = 0 - [Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskSmoothnessChannel ("Mask Channel for Smoothness", Int) = 3 - [HideInInspector] s_end_MatcapSmoothness ("", Float) = 0 - [HideInInspector] s_start_matcapApplyToAlpha ("Alpha Options--{persistent_expand:true,default_expand:false}", Float) = 0 - _MatcapAlphaOverride ("Override Alpha", Range(0, 1)) = 0 - [ToggleUI] _MatcapApplyToAlphaEnabled ("Intensity To Alpha", Float) = 0 - [ThryWideEnum(Greyscale, 0, Max, 1)] _MatcapApplyToAlphaSourceBlend ("Source Blend--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - [ThryWideEnum(Add, 0, Multiply, 1)] _MatcapApplyToAlphaBlendType ("Blend Type--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - _MatcapApplyToAlphaBlending ("Blending--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Range(0, 1)) = 1.0 - [HideInInspector] s_end_matcapApplyToAlpha ("", Float) = 0 - [HideInInspector] s_start_MatcapTPSMaskGroup ("Matcap TPS Mask--{reference_property:_MatcapTPSDepthEnabled,persistent_expand:true,default_expand:false, condition_showS:(_TPSPenetratorEnabled==1)}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapTPSDepthEnabled ("TPS Depth Mask Enabled", Float) = 0 - _MatcapTPSMaskStrength ("TPS Mask Strength", Range(0, 1)) = 1 - [HideInInspector] s_end_MatcapTPSMaskGroup ("", Float) = 0 - [HideInInspector] s_start_Matcap0AudioLink ("Audio Link ♫--{reference_property:_Matcap0ALEnabled,persistent_expand:true,default_expand:false, condition_showS:(_EnableAudioLink==1)}", Float) = 0 - [HideInInspector][ToggleUI] _Matcap0ALEnabled ("Enable Audio Link", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALAlphaAddBand ("Alpha Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALAlphaAdd ("Alpha Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALEmissionAddBand ("Emission Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALEmissionAdd ("Emission Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALIntensityAddBand ("Intensity Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALIntensityAdd ("Intensity Mod", Vector) = (0, 0, 0, 0) - [ThryWideEnum(Motion increases as intensity of band increases, 0, Above but Smooth, 1, Motion moves back and forth as a function of intensity, 2, Above but Smoooth, 3, Fixed speed increase when the band is dark Stationary when light, 4, Above but Smooooth, 5, Fixed speed increase when the band is dark Fixed speed decrease when light, 6, Above but Smoooooth, 7)]_Matcap0ALChronoPanType ("Chrono Pan Type--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALChronoPanBand ("Chrono Pan Band--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - _Matcap0ALChronoPanSpeed ("Chrono Pan Speed--{condition_showS:(_MatcapUVMode==3)}", Float) = 0 - [HideInInspector] s_end_Matcap0AudioLink ("Audio Link", Float) = 0 - [HideInInspector] m_end_matcap ("Matcap", Float) = 0 - [HideInInspector] m_OutlineCategory (" Outlines--{reference_property:_EnableOutlines,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/outlines/main},hover:Documentation}}", Float) = 0 - [HideInInspector] m_specialFXCategory ("Special FX", Float) = 0 - [HideInInspector] m_modifierCategory ("Global Modifiers & Data", Float) = 0 - [HideInInspector] m_start_PoiGlobalCategory ("Global Data and Masks", Float) = 0 - [HideInInspector] m_start_GlobalThemes ("Global Themes--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/global-themes},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HDR]_GlobalThemeColor0 ("Theme Color 0", Color ) = (1, 1, 1, 1) - _GlobalThemeHue0 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed0 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation0 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue0 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HDR]_GlobalThemeColor1 ("Theme Color 1", Color ) = (1, 1, 1, 1) - _GlobalThemeHue1 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed1 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation1 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue1 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HDR]_GlobalThemeColor2 ("Theme Color 2", Color ) = (1, 1, 1, 1) - _GlobalThemeHue2 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed2 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation2 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue2 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HDR]_GlobalThemeColor3 ("Theme Color 3", Color ) = (1, 1, 1, 1) - _GlobalThemeHue3 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed3 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation3 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue3 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HideInInspector] m_end_GlobalThemes ("Global Themes", Float ) = 0 - [HideInInspector] m_start_GlobalMask ("Global Mask--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/modifiers/global-masks},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalMaskModifiers ("Modifiers", Float) = 0 - [HideInInspector] m_end_GlobalMaskModifiers ("", Float) = 0 - [HideInInspector] m_end_GlobalMask ("Global Mask", Float) = 0 - [HideInInspector] m_end_PoiGlobalCategory ("Global Data and Masks ", Float) = 0 - [HideInInspector] m_start_PoiUVCategory ("UVs", Float) = 0 - [HideInInspector] m_start_Stochastic ("Stochastic Sampling", Float) = 0 - [KeywordEnum(Deliot Heitz, Hextile, None)] _StochasticMode ("Sampling Mode", Float) = 0 - [HideInInspector] s_start_deliot ("Deliot Heitz--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==0}}", Float) = 0 - _StochasticDeliotHeitzDensity ("Detiling Density", Range(0.1, 10)) = 1 - [HideInInspector] s_end_deliot ("Deliot Heitz", Float) = 0 - [HideInInspector] s_start_hextile ("Hextile--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==1}}", Float) = 0 - _StochasticHexGridDensity ("Hex Grid Density", Range(0.1, 10)) = 1 - _StochasticHexRotationStrength ("Rotation Strength", Range(0, 2)) = 0 - _StochasticHexFallOffContrast("Falloff Contrast", Range(0.01, 0.99)) = 0.6 - _StochasticHexFallOffPower("Falloff Power", Range(0, 20)) = 7 - [HideInInspector] s_end_hextile ("Hextile", Float) = 0 - [HideInInspector] m_end_Stochastic ("Stochastic Sampling", Float) = 0 - [HideInInspector] m_start_uvLocalWorld ("Local World UV", Float) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos0 ("Local X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos1 ("Local Y", Int) = 1 - [Space(10)] - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos0 ("World X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos1 ("World Y", Int) = 2 - [HideInInspector] m_end_uvLocalWorld ("Local World UV", Float) = 0 - [HideInInspector] m_start_uvPanosphere ("Panosphere UV", Float) = 0 - [ToggleUI] _StereoEnabled ("Stereo Enabled", Float) = 0 - [ToggleUI] _PanoUseBothEyes ("Perspective Correct (VR)", Float) = 1 - [HideInInspector] m_end_uvPanosphere ("Panosphere UV", Float) = 0 - [HideInInspector] m_start_uvPolar ("Polar UV", Float) = 0 - [ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8)] _PolarUV ("UV", Int) = 0 - [Vector2]_PolarCenter ("Center Coordinate", Vector) = (.5, .5, 0, 0) - _PolarRadialScale ("Radial Scale", Float) = 1 - _PolarLengthScale ("Length Scale", Float) = 1 - _PolarSpiralPower ("Spiral Power", Float) = 0 - [HideInInspector] m_end_uvPolar ("Polar UV", Float) = 0 - [HideInInspector] m_end_PoiUVCategory ("UVs ", Float) = 0 - [HideInInspector] m_start_PoiPostProcessingCategory ("Post Processing", Float) = 0 - [HideInInspector] m_start_PPAnimations ("PP Animations--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/post-processing/pp-animations},hover:Documentation}}", Float) = 0 - [Helpbox(1)] _PPHelp ("This section meant for real time adjustments through animations and not to be changed in unity", Int) = 0 - _PPLightingMultiplier ("Lighting Mulitplier", Float) = 1 - _PPLightingAddition ("Lighting Add", Float) = 0 - _PPEmissionMultiplier ("Emission Multiplier", Float) = 1 - _PPFinalColorMultiplier ("Final Color Multiplier", Float) = 1 - [HideInInspector] m_end_PPAnimations ("PP Animations ", Float) = 0 - [HideInInspector] m_end_PoiPostProcessingCategory ("Post Processing ", Float) = 0 - [HideInInspector] m_thirdpartyCategory ("Third Party", Float) = 0 - [HideInInspector] m_renderingCategory ("Rendering--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/main},hover:Documentation}}", 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]_RenderingReduceClipDistance ("Reduce Clip Distance", Float) = 0 - [ToggleUI] _ZClip ("Z Clip", Float) = 1 - [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 - [ToggleUI]_FlipBackfaceNormals ("Flip Backface Normals", Int) = 1 - [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown - [ToggleUI] _RenderingEarlyZEnabled ("Early Z", Float) = 0 - [HideInInspector] m_start_blending ("Blending--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/blending},hover:Documentation}}", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("RGB Destination Blend", Int) = 0 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOp ("RGB Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlend ("RGB Destination Blend", Int) = 1 - [HideInInspector] m_start_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("Alpha Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("Alpha Destination Blend", Int) = 10 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOpAlpha ("Alpha Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlendAlpha ("Alpha Source Blend", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlendAlpha ("Alpha Destination Blend", Int) = 1 - [HideInInspector] m_end_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [HideInInspector] m_end_blending ("Blending", Float) = 0 - [HideInInspector] m_start_StencilPassOptions ("Stencil--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/stencil},hover:Documentation}}", Float) = 0 - [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _StencilType ("Stencil Type", 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--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 - [HideInInspector] m_start_StencilPassBackOptions("Back--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackPassOp ("Back Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackFailOp ("Back Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackZFailOp ("Back ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilBackCompareFunction ("Back Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassBackOptions("Back", Float) = 0 - [HideInInspector] m_start_StencilPassFrontOptions("Front--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontPassOp ("Front Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontFailOp ("Front Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontZFailOp ("Front ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilFrontCompareFunction ("Front Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassFrontOptions("Front", Float) = 0 - [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 - } - SubShader - { - Tags { "RenderType" = "Opaque" "Queue" = "Geometry" "VRCFallback" = "Standard" } - Pass - { - Name "Base" - Tags { "LightMode" = "ForwardBase" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdbase - #pragma multi_compile_instancing - #pragma multi_compile_fog - #pragma multi_compile_fragment _ VERTEXLIGHT_ON - #define POI_PASS_BASE - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - float _PPLightingMultiplier; - float _PPLightingAddition; - float _PPEmissionMultiplier; - float _PPFinalColorMultiplier; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 8192) mipCount0 = 13; - if (float4(0.001953125,0.001953125,512,512).z == 4096) mipCount0 = 12; - if (float4(0.001953125,0.001953125,512,512).z == 2048) mipCount0 = 11; - if (float4(0.001953125,0.001953125,512,512).z == 1024) mipCount0 = 10; - if (float4(0.001953125,0.001953125,512,512).z == 512) mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 256) mipCount0 = 8; - if (float4(0.001953125,0.001953125,512,512).z == 128) mipCount0 = 7; - if (float4(0.001953125,0.001953125,512,512).z == 64) mipCount0 = 6; - if (float4(0.001953125,0.001953125,512,512).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (0.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (1.0 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(1,1,1,1), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - #ifdef UNITY_PASS_FORWARDBASE - poiFragData.emission = max(poiFragData.emission * (1.0 /*_PPEmissionMultiplier*/), 0); - poiFragData.finalColor = max(poiFragData.finalColor * (1.0 /*_PPFinalColorMultiplier*/), 0); - #endif - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - return float4(poiFragData.finalColor + poiFragData.emission * poiMods.globalEmission, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "Add" - Tags { "LightMode" = "ForwardAdd" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite Off - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_AddBlendOp], [_AddBlendOpAlpha] - Blend [_AddSrcBlend] [_AddDstBlend], [_AddSrcBlendAlpha] [_AddDstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdadd_fullshadows - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define POI_PASS_ADD - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 8192) mipCount0 = 13; - if (float4(0.001953125,0.001953125,512,512).z == 4096) mipCount0 = 12; - if (float4(0.001953125,0.001953125,512,512).z == 2048) mipCount0 = 11; - if (float4(0.001953125,0.001953125,512,512).z == 1024) mipCount0 = 10; - if (float4(0.001953125,0.001953125,512,512).z == 512) mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 256) mipCount0 = 8; - if (float4(0.001953125,0.001953125,512,512).z == 128) mipCount0 = 7; - if (float4(0.001953125,0.001953125,512,512).z == 64) mipCount0 = 6; - if (float4(0.001953125,0.001953125,512,512).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (0.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (1.0 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(1,1,1,1), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - if ((4.0 /*_AddBlendOp*/) == 4) - { - poiFragData.alpha = saturate(poiFragData.alpha * (10.0 /*_AlphaBoostFA*/)); - } - if ((0.0 /*_Mode*/) != POI_MODE_TRANSPARENT) - { - poiFragData.finalColor *= poiFragData.alpha; - } - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "ShadowCaster" - Tags { "LightMode" = "ShadowCaster" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask Off - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_instancing - #pragma multi_compile_shadowcaster - #pragma multi_compile_fog - #define POI_PASS_SHADOW - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(1,1,1,1), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - poiFragData.finalColor = poiFragData.baseColor; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - } - CustomEditor "Thry.ShaderEditor" -} diff --git a/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader.meta b/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader.meta deleted file mode 100644 index e234c7e..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Heart/Poiyomi Toon.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: de53be044825f6a4d8d6318982e51a25 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Ring.meta b/Partner Rings/internal/Material/OptimizedShaders/Ring.meta deleted file mode 100644 index 1edcb44..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Ring.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d14009806d10baf43b26ba76db0c4119 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader b/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader deleted file mode 100644 index 4fef432..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader +++ /dev/null @@ -1,8689 +0,0 @@ -Shader "Hidden/Locked/.poiyomi/Poiyomi Toon/86b2fb72365f08e43bf2a41f7eed62b8" -{ - Properties - { - [HideInInspector] shader_master_label ("Poiyomi 9.0.61", Float) = 0 - [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 - [HideInInspector] shader_locale ("0db0b86376c3dca4b9a6828ef8615fe0", Float) = 0 - [HideInInspector] footer_youtube ("{texture:{name:icon-youtube,height:16},action:{type:URL,data:https://www.youtube.com/poiyomi},hover:YOUTUBE}", Float) = 0 - [HideInInspector] footer_twitter ("{texture:{name:icon-twitter,height:16},action:{type:URL,data:https://twitter.com/poiyomi},hover:TWITTER}", Float) = 0 - [HideInInspector] footer_patreon ("{texture:{name:icon-patreon,height:16},action:{type:URL,data:https://www.patreon.com/poiyomi},hover:PATREON}", Float) = 0 - [HideInInspector] footer_discord ("{texture:{name:icon-discord,height:16},action:{type:URL,data:https://discord.gg/Ays52PY},hover:DISCORD}", Float) = 0 - [HideInInspector] footer_github ("{texture:{name:icon-github,height:16},action:{type:URL,data:https://github.com/poiyomi/PoiyomiToonShader},hover:GITHUB}", Float) = 0 - [Header(POIYOMI SHADER UI FAILED TO LOAD)] - [Header(. This is caused by scripts failing to compile. It can be fixed.)] - [Header(. The inspector will look broken and will not work properly until fixed.)] - [Header(. Please check your console for script errors.)] - [Header(. You can filter by errors in the console window.)] - [Header(. Often the topmost error points to the erroring script.)] - [Space(30)][Header(Common Error Causes)] - [Header(. Installing multiple Poiyomi Shader packages)] - [Header(. Make sure to delete the Poiyomi shader folder before you update Poiyomi.)] - [Header(. If a package came with Poiyomi this is bad practice and can cause issues.)] - [Header(. Delete the package and import it without any Poiyomi components.)] - [Header(. Bad VRCSDK installation (e.g. Both VCC and Standalone))] - [Header(. Delete the VRCSDK Folder in Assets if you are using the VCC.)] - [Header(. Avoid using third party SDKs. They can cause incompatibility.)] - [Header(. Script Errors in other scripts)] - [Header(. Outdated tools or prefabs can cause this.)] - [Header(. Update things that are throwing errors or move them outside the project.)] - [Space(30)][Header(Visit Our Discord to Ask For Help)] - [Space(5)]_ShaderUIWarning0 (" → discord.gg/poiyomi ← We can help you get it fixed! --{condition_showS:(0==1)}", Int) = -0 - [Space(1400)][Header(POIYOMI SHADER UI FAILED TO LOAD)] - _ShaderUIWarning1 ("Please scroll up for more information! --{condition_showS:(0==1)}", Int) = -0 - [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 - [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 1 - [HideInInspector] GeometryShader_Enabled("GEOMETRY SHADER ENABLED", Float) = 1 - [HideInInspector] Tessellation_Enabled("TESSELLATION ENABLED", Float) = 1 - [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:_AlphaForceOpaque=1}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=0}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2460},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.01}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0.002}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=5}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=5}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=10}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=1}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=1}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=4}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=4}, {type:SET_PROPERTY,data:_OutlineDstBlend=1}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=0}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]}, - {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000},{type:SET_PROPERTY,data:_AlphaForceOpaque=0}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=4}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_SrcBlendAlpha=1}, {type:SET_PROPERTY,data:_DstBlendAlpha=1}, {type:SET_PROPERTY,data:_AddSrcBlend=2}, {type:SET_PROPERTY,data:_AddDstBlend=1}, {type:SET_PROPERTY,data:_AddSrcBlendAlpha=0}, {type:SET_PROPERTY,data:_AddDstBlendAlpha=1}, {type:SET_PROPERTY,data:_AlphaToCoverage=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}, {type:SET_PROPERTY,data:_OutlineSrcBlend=2}, {type:SET_PROPERTY,data:_OutlineDstBlend=3}, {type:SET_PROPERTY,data:_OutlineSrcBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineDstBlendAlpha=1}, {type:SET_PROPERTY,data:_OutlineBlendOp=0}, {type:SET_PROPERTY,data:_OutlineBlendOpAlpha=4}]} - }]}]}", Int) = 0 - [HideInInspector] m_mainCategory ("Color & Normals--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/main},hover:Documentation}}", Float) = 0 - _Color ("Color & Alpha--{reference_property:_ColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _ColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)]_MainTex ("Texture--{reference_properties:[_MainTexPan, _MainTexUV, _MainPixelMode, _MainTexStochastic]}", 2D) = "white" { } - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MainTexUV ("UV", Int) = 0 - [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ToggleUI]_MainPixelMode ("Pixel Mode", Float) = 0 - [HideInInspector][ToggleUI]_MainTexStochastic ("Stochastic Sampling", Float) = 0 - [Normal]_BumpMap ("Normal Map--{reference_properties:[_BumpMapPan, _BumpMapUV, _BumpScale, _BumpMapStochastic]}", 2D) = "bump" { } - [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _BumpMapUV ("UV", Int) = 0 - [HideInInspector]_BumpScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector][ToggleUI]_BumpMapStochastic ("Stochastic Sampling", Float) = 0 - [sRGBWarning]_AlphaMask ("Alpha Map--{reference_properties:[_AlphaMaskPan, _AlphaMaskUV, _AlphaMaskInvert, _MainAlphaMaskMode, _AlphaMaskBlendStrength, _AlphaMaskValue], alts:[_AlphaMap]}", 2D) = "white" { } - [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _AlphaMaskUV ("UV", Int) = 0 - [HideInInspector][ThryWideEnum(Off, 0, Replace, 1, Multiply, 2, Add, 3, Subtract, 4)]_MainAlphaMaskMode ("Blend Mode", Int) = 2 - [HideInInspector]_AlphaMaskBlendStrength ("Blend Strength", Float) = 1 - [HideInInspector]_AlphaMaskValue ("Blend Offset", Float) = 0 - [HideInInspector][ToggleUI]_AlphaMaskInvert ("Invert", Float) = 0 - _Cutoff ("Alpha Cutoff", Range(0, 1.001)) = 0.5 - [HideInInspector] m_start_Alpha ("Alpha Options--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/alpha-options},hover:Documentation}}", Float) = 0 - [ToggleUI]_AlphaForceOpaque ("Force Opaque", Float) = 1 - _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _AlphaGlobalMask ("Global Mask--{reference_property:_AlphaGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _AlphaGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 - [HideInInspector] m_lightingCategory ("Shading", Float) = 0 - [HideInInspector] m_start_PoiLightData ("Light Data--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/light-data},hover:Documentation}}", Float) = 0 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingAOMaps ("AO Maps (expand)--{reference_properties:[_LightingAOMapsPan, _LightingAOMapsUV,_LightDataAOStrengthR,_LightDataAOStrengthG,_LightDataAOStrengthB,_LightDataAOStrengthA, _LightDataAOGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingAOMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingAOMapsUV ("UV", Int) = 0 - [HideInInspector]_LightDataAOStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightDataAOStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightDataAOStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataAOGlobalMaskR ("Global Mask--{reference_property:_LightDataAOGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataAOGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingDetailShadowMaps ("Shadow Map (expand)--{reference_properties:[_LightingDetailShadowMapsPan, _LightingDetailShadowMapsUV,_LightingDetailShadowStrengthR,_LightingDetailShadowStrengthG,_LightingDetailShadowStrengthB,_LightingDetailShadowStrengthA,_LightingAddDetailShadowStrengthR,_LightingAddDetailShadowStrengthG,_LightingAddDetailShadowStrengthB,_LightingAddDetailShadowStrengthA, _LightDataDetailShadowGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingDetailShadowMapsPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingDetailShadowMapsUV ("UV", Int) = 0 - [HideInInspector]_LightingDetailShadowStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingDetailShadowStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingDetailShadowStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthR ("Additive R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingAddDetailShadowStrengthG ("Additive G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthB ("Additive B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingAddDetailShadowStrengthA ("Additive A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataDetailShadowGlobalMaskR ("Global Mask--{reference_property:_LightDataDetailShadowGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataDetailShadowGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [sRGBWarning][ThryRGBAPacker(R, G, B, A, Linear, false)]_LightingShadowMasks ("Shadow Masks (expand)--{reference_properties:[_LightingShadowMasksPan, _LightingShadowMasksUV,_LightingShadowMaskStrengthR,_LightingShadowMaskStrengthG,_LightingShadowMaskStrengthB,_LightingShadowMaskStrengthA, _LightDataShadowMaskGlobalMaskR]}", 2D) = "white" { } - [HideInInspector][Vector2]_LightingShadowMasksPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _LightingShadowMasksUV ("UV", Int) = 0 - [HideInInspector]_LightingShadowMaskStrengthR ("R Strength", Range(0, 1)) = 1 - [HideInInspector]_LightingShadowMaskStrengthG ("G Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthB ("B Strength", Range(0, 1)) = 0 - [HideInInspector]_LightingShadowMaskStrengthA ("A Strength", Range(0, 1)) = 0 - [HideInInspector][ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _LightDataShadowMaskGlobalMaskR ("Global Mask--{reference_property:_LightDataShadowMaskGlobalMaskBlendTypeR}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _LightDataShadowMaskGlobalMaskBlendTypeR ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_start_LightDataBasePass ("Base Pass (Directional & Baked Lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [Enum(Poi Custom, 0, Standard, 1, UTS2, 2, OpenLit(lil toon), 3)] _LightingColorMode ("Light Color Mode", Int) = 0 - [Enum(Poi Custom, 0, Normalized NDotL, 1, Saturated NDotL, 2, Casted Shadows Only, 3)] _LightingMapMode ("Light Map Mode", Int) = 0 - [Enum(Poi Custom, 0, Forced Local Direction, 1, Forced World Direction, 2, UTS2, 3, OpenLit(lil toon), 4, View Direction, 5)] _LightingDirectionMode ("Light Direction Mode", Int) = 0 - [Vector3]_LightngForcedDirection ("Forced Direction--{condition_showS:(_LightingDirectionMode==1 || _LightingDirectionMode==2)}", Vector) = (0, 0, 0) - _LightingViewDirOffsetPitch ("View Dir Offset Pitch--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - _LightingViewDirOffsetYaw ("View Dir Offset Yaw--{condition_showS:_LightingDirectionMode==5}", Range(-90, 90)) = 0 - [ToggleUI]_LightingForceColorEnabled ("Force Light Color", Float) = 0 - _LightingForcedColor ("Forced Color--{condition_showS:(_LightingForceColorEnabled==1), reference_property:_LightingForcedColorThemeIndex}", Color) = (1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _LightingForcedColorThemeIndex ("", Int) = 0 - _Unlit_Intensity ("Unlit_Intensity--{condition_showS:(_LightingColorMode==2)}", Range(0.001, 4)) = 1 - [ToggleUI]_LightingCapEnabled ("Limit Brightness", Float) = 1 - _LightingCap ("Max Brightness--{condition_showS:(_LightingCapEnabled==1)}", Range(0, 10)) = 1 - _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 - _LightingIndirectUsesNormals ("Indirect Uses Normals--{condition_showS:(_LightingColorMode==0)}", Range(0, 1)) = 0 - _LightingCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 0 - _LightingMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - [ToggleUI]_LightingVertexLightingEnabled ("Vertex lights (Non-Important)", Float) = 1 - [ToggleUI]_LightingMirrorVertexLightingEnabled ("Mirror Vertex lights (Non-Important)", Float) = 1 - [HideInInspector] s_end_LightDataBasePass ("Base Pass", Float) = 1 - [HideInInspector] s_start_LightDataAddPass ("Add Pass (Point & Spot lights)--{persistent_expand:true,default_expand:true}", Float) = 1 - [ToggleUI]_LightingAdditiveEnable ("Pixel lights (Important)", Float) = 1 - [ToggleUI]_DisableDirectionalInAdd ("Ignore Directional--{condition_showS:(_LightingAdditiveEnable==1)}", Float) = 1 - [ToggleUI]_LightingAdditiveLimited ("Limit Brightness", Float) = 1 - _LightingAdditiveLimit ("Max Brightness--{condition_showS:(_LightingAdditiveLimited==1)}", Range(0, 10)) = 1 - _LightingAdditiveCastedShadows ("Receive Casted Shadows", Range(0, 1)) = 1 - _LightingAdditiveMonochromatic ("Grayscale Lighting", Range(0, 1)) = 0 - _LightingAdditivePassthrough ("Point Light Passthrough--{condition_showS:(_LightingAdditiveEnable==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_LightDataAddPass ("Add Pass", Float) = 1 - [HideInInspector] s_start_LightDataDebug ("Debug / Data Visualizations--{reference_property:_LightDataDebugEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][NoAnimate][ThryToggleUI(false)]_LightDataDebugEnabled ("Debug", Float) = 0 - [ThryWideEnum(Direct Color, 0, Indirect Color, 1, Light Map, 2, Attenuation, 3, N Dot L, 4, Half Dir, 5, Direction, 6, Add Color, 7, Add Attenuation, 8, Add Shadow, 9, Add N Dot L, 10)] _LightingDebugVisualize ("Visualize", Int) = 0 - [HideInInspector] s_end_LightDataDebug ("Debug", Float) = 0 - [HideInInspector] m_end_PoiLightData ("Light Data", Float) = 0 - [HideInInspector] m_start_PoiShading (" Shading--{reference_property:_ShadingEnabled,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/main},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(VIGNETTE_MASKED)]_ShadingEnabled ("Enable Shading", Float) = 1 - [KeywordEnum(TextureRamp, Multilayer Math, Wrapped, Skin, ShadeMap, Flat, Realistic, Cloth, SDF)] _LightingMode ("Lighting Type", Float) = 5 - _LightingShadowColor ("Shadow Tint--{condition_showS:(_LightingMode!=4 && _LightingMode!=1 && _LightingMode!=5)}", Color) = (1, 1, 1) - [ToggleUI]_ForceFlatRampedLightmap ("Force Ramped Lightmap--{condition_showS:(_LightingMode==5)}", Range(0, 1)) = 1 - _ShadowStrength ("Shadow Strength--{condition_showS:(_LightingMode<=4 || _LightingMode==8)}", Range(0, 1)) = 1 - _LightingIgnoreAmbientColor ("Ignore Indirect Shadow Color--{condition_showS:(_LightingMode<=3 || _LightingMode==8)}", Range(0, 1)) = 1 - [Space(15)] - [HideInInspector] s_start_ShadingAddPass ("Add Pass (Point & Spot Lights)--{persistent_expand:true,default_expand:false}", Float) = 0 - [Enum(Realistic, 0, Toon, 1, Same as Base Pass, 3)] _LightingAdditiveType ("Lighting Type", Int) = 3 - _LightingAdditiveGradientStart ("Gradient Start--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = 0 - _LightingAdditiveGradientEnd ("Gradient End--{condition_showS:(_LightingAdditiveType==1)}", Range(0, 1)) = .5 - [HideInInspector] s_end_ShadingAddPass ("Add Pass", Float) = 0 - [HideInInspector] s_start_ShadingGlobalMask ("Global Masks--{persistent_expand:true,default_expand:false}", Float) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapApplyGlobalMaskIndex ("LightMap to Global Mask--{reference_property:_ShadingRampedLightMapApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapApplyGlobalMaskBlendType ("Blending", Int) = 2 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _ShadingRampedLightMapInverseApplyGlobalMaskIndex ("Inversed LightMap to Global Mask--{reference_property:_ShadingRampedLightMapInverseApplyGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)] _ShadingRampedLightMapInverseApplyGlobalMaskBlendType ("Blending", Int) = 2 - [HideInInspector] s_end_ShadingGlobalMask ("Global Masks", Float) = 0 - [HideInInspector] m_end_PoiShading ("Shading", Float) = 0 - [HideInInspector] m_start_matcap ("Matcap 0--{reference_property:_MatcapEnable,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/shading/matcap},hover:Documentation}}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0)]_MatcapEnable ("Enable Matcap}", Float) = 0 - [ThryWideEnum(UTS Style, 0, Top Pinch, 1, Double Sided, 2, Gradient, 3)] _MatcapUVMode ("UV Mode", Int) = 1 - _MatcapColor ("Color--{reference_property:_MatcapColorThemeIndex}", Color) = (1, 1, 1, 1) - [HideInInspector][ThryWideEnum(Off, 0, Theme Color 0, 1, Theme Color 1, 2, Theme Color 2, 3, Theme Color 3, 4, ColorChord 0, 5, ColorChord 1, 6, ColorChord 2, 7, ColorChord 3, 8, AL Theme 0, 9, AL Theme 1, 10, AL Theme 2, 11, AL Theme 3, 12)] _MatcapColorThemeIndex ("", Int) = 0 - [sRGBWarning(true)][Gradient]_Matcap ("Matcap--{reference_properties:[_MatcapUVToBlend, _MatCapBlendUV1, _MatcapPan, _MatcapBorder, _MatcapRotation]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapUVToBlend ("UV To Blend", Int) = 1 - [HideInInspector][VectorToSliders(Blend UV X, 0.0, 1.0, Blend UV Y, 0.0, 1.0)]_MatCapBlendUV1 ("UV Blend", Vector) = (0, 0, 0, 0) - [HideInInspector]_MatcapBorder ("Border", Range(0, 5)) = 0.43 - [HideInInspector]_MatcapRotation ("Rotation", Range(-1, 1)) = 0 - _MatcapIntensity ("Intensity", Range(0, 5)) = 1 - _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 - _MatcapBaseColorMix ("Base Color Mix", Range(0, 1)) = 0 - _MatcapNormal ("Normal Strength", Range(0, 1)) = 1 - [HideInInspector] s_start_Matcap0Masking ("Masking--{persistent_expand:true,default_expand:true}", Float) = 1 - [sRGBWarning][ThryRGBAPacker(R Mask, G Nothing, B Nothing, A Smoothness, linear, false)]_MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskChannel, _MatcapMaskInvert]}", 2D) = "white" { } - [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _MatcapMaskUV ("UV", Int) = 0 - [HideInInspector][Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskChannel ("Channel", Float) = 0 - [HideInInspector][ToggleUI]_MatcapMaskInvert ("Invert", Float) = 0 - _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 - [ThryWideEnum(Off, 0, 1R, 1, 1G, 2, 1B, 3, 1A, 4, 2R, 5, 2G, 6, 2B, 7, 2A, 8, 3R, 9, 3G, 10, 3B, 11, 3A, 12, 4R, 13, 4G, 14, 4B, 15, 4A, 16)] _MatcapMaskGlobalMask (" Global Mask--{reference_property:_MatcapMaskGlobalMaskBlendType}", Int) = 0 - [HideInInspector][ThryWideEnum(Add, 7, Subtract, 1, Multiply, 2, Divide, 3, Min, 4, Max, 5, Average, 6, Replace, 0)]_MatcapMaskGlobalMaskBlendType ("Blending", Range(0, 1)) = 2 - [HideInInspector] s_end_Matcap0Masking ("Masking", Float) = 0 - [HideInInspector] s_start_Matcap0Blending ("Blending--{persistent_expand:true,default_expand:true}", Float) = 1 - _MatcapReplace ("Replace", Range(0, 1)) = 1 - _MatcapMultiply ("Multiply", Range(0, 1)) = 0 - _MatcapAdd ("Add", Range(0, 1)) = 0 - _MatcapMixed ("Mixed", Range(0, 1)) = 0 - _MatcapScreen ("Screen", Range(0, 1)) = 0 - _MatcapAddToLight ("Unlit Add", Range(0, 1)) = 0 - [HideInInspector] s_end_Matcap0Blending ("Blending", Float) = 0 - [HideInInspector] s_start_MatcapNormal ("Custom Normal Map--{reference_property:_Matcap0CustomNormal,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggle(POI_MATCAP0_CUSTOM_NORMAL, true)] _Matcap0CustomNormal ("Custom Normal", Float) = 0 - [Normal]_Matcap0NormalMap ("Normal Map--{reference_properties:[_Matcap0NormalMapPan, _Matcap0NormalMapUV, _Matcap0NormalMapScale]}", 2D) = "bump" { } - [HideInInspector][Vector2]_Matcap0NormalMapPan ("Panning", Vector) = (0, 0, 0, 0) - [HideInInspector][ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8, Polar UV, 6, Distorted UV, 7)] _Matcap0NormalMapUV ("UV", Int) = 0 - [HideInInspector]_Matcap0NormalMapScale ("Intensity", Range(0, 10)) = 1 - [HideInInspector] s_end_MatcapNormal ("", Float) = 0 - [HideInInspector] s_start_MatcapHueShift ("Hue Shift--{reference_property:_MatcapHueShiftEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapHueShiftEnabled ("Hue Shift", Float) = 0 - [ThryWideEnum(OKLab, 0, HSV, 1)] _MatcapHueShiftColorSpace ("Color Space", Int) = 0 - _MatcapHueShiftSpeed ("Shift Speed", Float) = 0 - _MatcapHueShift ("Hue Shift", Range(0, 1)) = 0 - [HideInInspector] s_end_MatcapHueShift ("", Float) = 0 - [HideInInspector] s_start_MatcapSmoothness ("Blur / Smoothness--{reference_property:_MatcapSmoothnessEnabled,persistent_expand:true}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapSmoothnessEnabled ("Blur", Float) = 0 - _MatcapSmoothness ("Smoothness", Range(0, 1)) = 1 - [ToggleUI]_MatcapMaskSmoothnessApply ("Apply Mask for Smoothness", Float) = 0 - [Enum(R, 0, G, 1, B, 2, A, 3)]_MatcapMaskSmoothnessChannel ("Mask Channel for Smoothness", Int) = 3 - [HideInInspector] s_end_MatcapSmoothness ("", Float) = 0 - [HideInInspector] s_start_matcapApplyToAlpha ("Alpha Options--{persistent_expand:true,default_expand:false}", Float) = 0 - _MatcapAlphaOverride ("Override Alpha", Range(0, 1)) = 0 - [ToggleUI] _MatcapApplyToAlphaEnabled ("Intensity To Alpha", Float) = 0 - [ThryWideEnum(Greyscale, 0, Max, 1)] _MatcapApplyToAlphaSourceBlend ("Source Blend--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - [ThryWideEnum(Add, 0, Multiply, 1)] _MatcapApplyToAlphaBlendType ("Blend Type--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Int) = 0 - _MatcapApplyToAlphaBlending ("Blending--{condition_showS:(_MatcapApplyToAlphaEnabled==1)}", Range(0, 1)) = 1.0 - [HideInInspector] s_end_matcapApplyToAlpha ("", Float) = 0 - [HideInInspector] s_start_MatcapTPSMaskGroup ("Matcap TPS Mask--{reference_property:_MatcapTPSDepthEnabled,persistent_expand:true,default_expand:false, condition_showS:(_TPSPenetratorEnabled==1)}", Float) = 0 - [HideInInspector][ThryToggleUI(true)] _MatcapTPSDepthEnabled ("TPS Depth Mask Enabled", Float) = 0 - _MatcapTPSMaskStrength ("TPS Mask Strength", Range(0, 1)) = 1 - [HideInInspector] s_end_MatcapTPSMaskGroup ("", Float) = 0 - [HideInInspector] s_start_Matcap0AudioLink ("Audio Link ♫--{reference_property:_Matcap0ALEnabled,persistent_expand:true,default_expand:false, condition_showS:(_EnableAudioLink==1)}", Float) = 0 - [HideInInspector][ToggleUI] _Matcap0ALEnabled ("Enable Audio Link", Float) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALAlphaAddBand ("Alpha Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALAlphaAdd ("Alpha Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALEmissionAddBand ("Emission Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALEmissionAdd ("Emission Mod", Vector) = (0, 0, 0, 0) - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALIntensityAddBand ("Intensity Band", Int) = 0 - [VectorLabel(Min, Max)]_Matcap0ALIntensityAdd ("Intensity Mod", Vector) = (0, 0, 0, 0) - [ThryWideEnum(Motion increases as intensity of band increases, 0, Above but Smooth, 1, Motion moves back and forth as a function of intensity, 2, Above but Smoooth, 3, Fixed speed increase when the band is dark Stationary when light, 4, Above but Smooooth, 5, Fixed speed increase when the band is dark Fixed speed decrease when light, 6, Above but Smoooooth, 7)]_Matcap0ALChronoPanType ("Chrono Pan Type--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - [Enum(Bass, 0, Low Mid, 1, High Mid, 2, Treble, 3, Volume, 4)] _Matcap0ALChronoPanBand ("Chrono Pan Band--{condition_showS:(_MatcapUVMode==3)}", Int) = 0 - _Matcap0ALChronoPanSpeed ("Chrono Pan Speed--{condition_showS:(_MatcapUVMode==3)}", Float) = 0 - [HideInInspector] s_end_Matcap0AudioLink ("Audio Link", Float) = 0 - [HideInInspector] m_end_matcap ("Matcap", Float) = 0 - [HideInInspector] m_OutlineCategory (" Outlines--{reference_property:_EnableOutlines,button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/outlines/main},hover:Documentation}}", Float) = 0 - [HideInInspector] m_specialFXCategory ("Special FX", Float) = 0 - [HideInInspector] m_modifierCategory ("Global Modifiers & Data", Float) = 0 - [HideInInspector] m_start_PoiGlobalCategory ("Global Data and Masks", Float) = 0 - [HideInInspector] m_start_GlobalThemes ("Global Themes--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/color-and-normals/global-themes},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HDR]_GlobalThemeColor0 ("Theme Color 0", Color ) = (1, 1, 1, 1) - _GlobalThemeHue0 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed0 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation0 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue0 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor0 ("Theme Color 0", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HDR]_GlobalThemeColor1 ("Theme Color 1", Color ) = (1, 1, 1, 1) - _GlobalThemeHue1 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed1 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation1 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue1 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor1 ("Theme Color 1", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HDR]_GlobalThemeColor2 ("Theme Color 2", Color ) = (1, 1, 1, 1) - _GlobalThemeHue2 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed2 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation2 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue2 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor2 ("Theme Color 2", Float) = 0 - [HideInInspector] m_start_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HDR]_GlobalThemeColor3 ("Theme Color 3", Color ) = (1, 1, 1, 1) - _GlobalThemeHue3 ("Hue Adjust", Range( 0, 1)) = 0 - _GlobalThemeHueSpeed3 ("Hue Adjust Speed", Float ) = 0 - _GlobalThemeSaturation3 ("Saturation Adjust", Range(-1, 1)) = 0 - _GlobalThemeValue3 ("Value Adjust", Range(-1, 1)) = 0 - [HideInInspector] m_end_GlobalThemeColor3 ("Theme Color 3", Float) = 0 - [HideInInspector] m_end_GlobalThemes ("Global Themes", Float ) = 0 - [HideInInspector] m_start_GlobalMask ("Global Mask--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/modifiers/global-masks},hover:Documentation}}", Float) = 0 - [HideInInspector] m_start_GlobalMaskModifiers ("Modifiers", Float) = 0 - [HideInInspector] m_end_GlobalMaskModifiers ("", Float) = 0 - [HideInInspector] m_end_GlobalMask ("Global Mask", Float) = 0 - [HideInInspector] m_end_PoiGlobalCategory ("Global Data and Masks ", Float) = 0 - [HideInInspector] m_start_PoiUVCategory ("UVs", Float) = 0 - [HideInInspector] m_start_Stochastic ("Stochastic Sampling", Float) = 0 - [KeywordEnum(Deliot Heitz, Hextile, None)] _StochasticMode ("Sampling Mode", Float) = 0 - [HideInInspector] s_start_deliot ("Deliot Heitz--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==0}}", Float) = 0 - _StochasticDeliotHeitzDensity ("Detiling Density", Range(0.1, 10)) = 1 - [HideInInspector] s_end_deliot ("Deliot Heitz", Float) = 0 - [HideInInspector] s_start_hextile ("Hextile--{persistent_expand:true,default_expand:false,condition_show:{type:PROPERTY_BOOL,data:_StochasticMode==1}}", Float) = 0 - _StochasticHexGridDensity ("Hex Grid Density", Range(0.1, 10)) = 1 - _StochasticHexRotationStrength ("Rotation Strength", Range(0, 2)) = 0 - _StochasticHexFallOffContrast("Falloff Contrast", Range(0.01, 0.99)) = 0.6 - _StochasticHexFallOffPower("Falloff Power", Range(0, 20)) = 7 - [HideInInspector] s_end_hextile ("Hextile", Float) = 0 - [HideInInspector] m_end_Stochastic ("Stochastic Sampling", Float) = 0 - [HideInInspector] m_start_uvLocalWorld ("Local World UV", Float) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos0 ("Local X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3, VColor R, 4, VColor G, 5, VColor B, 6, VColor A, 7)] _UVModLocalPos1 ("Local Y", Int) = 1 - [Space(10)] - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos0 ("World X", Int) = 0 - [ThryWideEnum(X, 0, Y, 1, Z, 2, Zero, 3)] _UVModWorldPos1 ("World Y", Int) = 2 - [HideInInspector] m_end_uvLocalWorld ("Local World UV", Float) = 0 - [HideInInspector] m_start_uvPanosphere ("Panosphere UV", Float) = 0 - [ToggleUI] _StereoEnabled ("Stereo Enabled", Float) = 0 - [ToggleUI] _PanoUseBothEyes ("Perspective Correct (VR)", Float) = 1 - [HideInInspector] m_end_uvPanosphere ("Panosphere UV", Float) = 0 - [HideInInspector] m_start_uvPolar ("Polar UV", Float) = 0 - [ThryWideEnum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Panosphere, 4, World Pos, 5, Local Pos, 8)] _PolarUV ("UV", Int) = 0 - [Vector2]_PolarCenter ("Center Coordinate", Vector) = (.5, .5, 0, 0) - _PolarRadialScale ("Radial Scale", Float) = 1 - _PolarLengthScale ("Length Scale", Float) = 1 - _PolarSpiralPower ("Spiral Power", Float) = 0 - [HideInInspector] m_end_uvPolar ("Polar UV", Float) = 0 - [HideInInspector] m_end_PoiUVCategory ("UVs ", Float) = 0 - [HideInInspector] m_start_PoiPostProcessingCategory ("Post Processing", Float) = 0 - [HideInInspector] m_start_PPAnimations ("PP Animations--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/post-processing/pp-animations},hover:Documentation}}", Float) = 0 - [Helpbox(1)] _PPHelp ("This section meant for real time adjustments through animations and not to be changed in unity", Int) = 0 - _PPLightingMultiplier ("Lighting Mulitplier", Float) = 1 - _PPLightingAddition ("Lighting Add", Float) = 0 - _PPEmissionMultiplier ("Emission Multiplier", Float) = 1 - _PPFinalColorMultiplier ("Final Color Multiplier", Float) = 1 - [HideInInspector] m_end_PPAnimations ("PP Animations ", Float) = 0 - [HideInInspector] m_end_PoiPostProcessingCategory ("Post Processing ", Float) = 0 - [HideInInspector] m_thirdpartyCategory ("Third Party", Float) = 0 - [HideInInspector] m_renderingCategory ("Rendering--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/main},hover:Documentation}}", 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]_RenderingReduceClipDistance ("Reduce Clip Distance", Float) = 0 - [ToggleUI] _ZClip ("Z Clip", Float) = 1 - [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 - [ToggleUI]_FlipBackfaceNormals ("Flip Backface Normals", Int) = 1 - [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown - [ToggleUI] _RenderingEarlyZEnabled ("Early Z", Float) = 0 - [HideInInspector] m_start_blending ("Blending--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/blending},hover:Documentation}}", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("RGB Destination Blend", Int) = 0 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOp ("RGB Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlend ("RGB Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlend ("RGB Destination Blend", Int) = 1 - [HideInInspector] m_start_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("Alpha Source Blend", Int) = 1 - [Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("Alpha Destination Blend", Int) = 10 - [Space][ThryHeaderLabel(Additive Blending, 13)] - [Enum(Thry.BlendOp)]_AddBlendOpAlpha ("Alpha Blend Op", Int) = 4 - [Enum(UnityEngine.Rendering.BlendMode)] _AddSrcBlendAlpha ("Alpha Source Blend", Int) = 0 - [Enum(UnityEngine.Rendering.BlendMode)] _AddDstBlendAlpha ("Alpha Destination Blend", Int) = 1 - [HideInInspector] m_end_alphaBlending ("Advanced Alpha Blending", Float) = 0 - [HideInInspector] m_end_blending ("Blending", Float) = 0 - [HideInInspector] m_start_StencilPassOptions ("Stencil--{button_help:{text:Tutorial,action:{type:URL,data:https://www.poiyomi.com/rendering/stencil},hover:Documentation}}", Float) = 0 - [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _StencilType ("Stencil Type", 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--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 - [HideInInspector] m_start_StencilPassBackOptions("Back--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackPassOp ("Back Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackFailOp ("Back Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackZFailOp ("Back ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilBackCompareFunction ("Back Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassBackOptions("Back", Float) = 0 - [HideInInspector] m_start_StencilPassFrontOptions("Front--{condition_showS:(_StencilType==1)}", Float) = 0 - [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontPassOp ("Front Pass Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontFailOp ("Front Fail Op", Float) = 0 - [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontZFailOp ("Front ZFail Op", Float) = 0 - [Enum(UnityEngine.Rendering.CompareFunction)] _StencilFrontCompareFunction ("Front Compare Function", Float) = 8 - [HideInInspector] m_end_StencilPassFrontOptions("Front", Float) = 0 - [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 - } - SubShader - { - Tags { "RenderType" = "Opaque" "Queue" = "Geometry" "VRCFallback" = "Standard" } - Pass - { - Name "Base" - Tags { "LightMode" = "ForwardBase" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdbase - #pragma multi_compile_instancing - #pragma multi_compile_fog - #pragma multi_compile_fragment _ VERTEXLIGHT_ON - #define POI_PASS_BASE - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - float _PPLightingMultiplier; - float _PPLightingAddition; - float _PPEmissionMultiplier; - float _PPFinalColorMultiplier; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 8192) mipCount0 = 13; - if (float4(0.001953125,0.001953125,512,512).z == 4096) mipCount0 = 12; - if (float4(0.001953125,0.001953125,512,512).z == 2048) mipCount0 = 11; - if (float4(0.001953125,0.001953125,512,512).z == 1024) mipCount0 = 10; - if (float4(0.001953125,0.001953125,512,512).z == 512) mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 256) mipCount0 = 8; - if (float4(0.001953125,0.001953125,512,512).z == 128) mipCount0 = 7; - if (float4(0.001953125,0.001953125,512,512).z == 64) mipCount0 = 6; - if (float4(0.001953125,0.001953125,512,512).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (1.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (0.0 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - #ifdef UNITY_PASS_FORWARDBASE - poiFragData.emission = max(poiFragData.emission * (1.0 /*_PPEmissionMultiplier*/), 0); - poiFragData.finalColor = max(poiFragData.finalColor * (1.0 /*_PPFinalColorMultiplier*/), 0); - #endif - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - return float4(poiFragData.finalColor + poiFragData.emission * poiMods.globalEmission, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "Add" - Tags { "LightMode" = "ForwardAdd" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite Off - Cull [_Cull] - AlphaToMask [_AlphaToCoverage] - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_AddBlendOp], [_AddBlendOpAlpha] - Blend [_AddSrcBlend] [_AddDstBlend], [_AddSrcBlendAlpha] [_AddDstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fwdadd_fullshadows - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define POI_PASS_ADD - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingAOMaps; - #endif - float4 _LightingAOMaps_ST; - float2 _LightingAOMapsPan; - float _LightingAOMapsUV; - float _LightDataAOStrengthR; - float _LightDataAOStrengthG; - float _LightDataAOStrengthB; - float _LightDataAOStrengthA; - float _LightDataAOGlobalMaskR; - float _LightDataAOGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingDetailShadowMaps; - #endif - float4 _LightingDetailShadowMaps_ST; - float2 _LightingDetailShadowMapsPan; - float _LightingDetailShadowMapsUV; - float _LightingDetailShadowStrengthR; - float _LightingDetailShadowStrengthG; - float _LightingDetailShadowStrengthB; - float _LightingDetailShadowStrengthA; - float _LightingAddDetailShadowStrengthR; - float _LightingAddDetailShadowStrengthG; - float _LightingAddDetailShadowStrengthB; - float _LightingAddDetailShadowStrengthA; - float _LightDataDetailShadowGlobalMaskR; - float _LightDataDetailShadowGlobalMaskBlendTypeR; - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - Texture2D _LightingShadowMasks; - #endif - float4 _LightingShadowMasks_ST; - float2 _LightingShadowMasksPan; - float _LightingShadowMasksUV; - float _LightingShadowMaskStrengthR; - float _LightingShadowMaskStrengthG; - float _LightingShadowMaskStrengthB; - float _LightingShadowMaskStrengthA; - float _LightDataShadowMaskGlobalMaskR; - float _LightDataShadowMaskGlobalMaskBlendTypeR; - float _Unlit_Intensity; - float _LightingColorMode; - float _LightingMapMode; - float _LightingDirectionMode; - float3 _LightngForcedDirection; - float _LightingViewDirOffsetPitch; - float _LightingViewDirOffsetYaw; - float _LightingIndirectUsesNormals; - float _LightingCapEnabled; - float _LightingCap; - float _LightingForceColorEnabled; - float3 _LightingForcedColor; - float _LightingForcedColorThemeIndex; - float _LightingCastedShadows; - float _LightingMonochromatic; - float _LightingMinLightBrightness; - float _LightingAdditiveEnable; - float _LightingAdditiveLimited; - float _LightingAdditiveLimit; - float _LightingAdditiveCastedShadows; - float _LightingAdditiveMonochromatic; - float _LightingAdditivePassthrough; - float _DisableDirectionalInAdd; - float _LightingVertexLightingEnabled; - float _LightingMirrorVertexLightingEnabled; - float _LightDataDebugEnabled; - float _LightingDebugVisualize; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - float4 _GlobalThemeColor0; - float4 _GlobalThemeColor1; - float4 _GlobalThemeColor2; - float4 _GlobalThemeColor3; - float _GlobalThemeHue0; - float _GlobalThemeHue1; - float _GlobalThemeHue2; - float _GlobalThemeHue3; - float _GlobalThemeHueSpeed0; - float _GlobalThemeHueSpeed1; - float _GlobalThemeHueSpeed2; - float _GlobalThemeHueSpeed3; - float _GlobalThemeSaturation0; - float _GlobalThemeSaturation1; - float _GlobalThemeSaturation2; - float _GlobalThemeSaturation3; - float _GlobalThemeValue0; - float _GlobalThemeValue1; - float _GlobalThemeValue2; - float _GlobalThemeValue3; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - float _ShadowStrength; - float _LightingIgnoreAmbientColor; - float3 _LightingShadowColor; - float _ShadingRampedLightMapApplyGlobalMaskIndex; - float _ShadingRampedLightMapApplyGlobalMaskBlendType; - float _ShadingRampedLightMapInverseApplyGlobalMaskIndex; - float _ShadingRampedLightMapInverseApplyGlobalMaskBlendType; - #ifdef _LIGHTINGMODE_FLAT - float _ForceFlatRampedLightmap; - #endif - float _LightingAdditiveType; - float _LightingAdditiveGradientStart; - float _LightingAdditiveGradientEnd; - float _LightingAdditiveDetailStrength; - #ifdef POI_MATCAP0 - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _Matcap; - float4 _Matcap_ST; - float4 _Matcap_TexelSize; - float2 _MatcapPan; - float _MatcapUV; - #endif - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _MatcapMask; - float4 _MatcapMask_ST; - float2 _MatcapMaskPan; - float _MatcapMaskUV; - float _MatcapMaskChannel; - #endif - float _MatcapUVToBlend; - float4 _MatCapBlendUV1; - float _MatcapUVMode; - float _MatcapMaskInvert; - float _MatcapMaskGlobalMask; - float _MatcapMaskGlobalMaskBlendType; - float _MatcapBorder; - float _MatcapRotation; - float _MatcapSmoothnessEnabled; - float _MatcapSmoothness; - float _MatcapMaskSmoothnessChannel; - float _MatcapMaskSmoothnessApply; - float4 _MatcapColor; - float _MatcapBaseColorMix; - float _MatcapColorThemeIndex; - float _MatcapIntensity; - float _MatcapReplace; - float _MatcapMultiply; - float _MatcapAdd; - float _MatcapAddToLight; - float _MatcapMixed; - float _MatcapScreen; - float _MatcapAlphaOverride; - float _MatcapEnable; - float _MatcapLightMask; - float _MatcapEmissionStrength; - float _MatcapNormal; - float _MatcapHueShiftEnabled; - float _MatcapHueShiftColorSpace; - float _MatcapHueShiftSpeed; - float _MatcapHueShift; - int _MatcapApplyToAlphaEnabled; - int _MatcapApplyToAlphaSourceBlend; - int _MatcapApplyToAlphaBlendType; - float _MatcapApplyToAlphaBlending; - float _MatcapTPSDepthEnabled; - float _MatcapTPSMaskStrength; - float _Matcap0ALEnabled; - float _Matcap0ALAlphaAddBand; - float4 _Matcap0ALAlphaAdd; - float _Matcap0ALEmissionAddBand; - float4 _Matcap0ALEmissionAdd; - float _Matcap0ALIntensityAddBand; - float4 _Matcap0ALIntensityAdd; - float _Matcap0ALChronoPanType; - float _Matcap0ALChronoPanBand; - float _Matcap0ALChronoPanSpeed; - #endif - struct MatcapAudioLinkData - { - float matcapALEnabled; - float matcapALAlphaAddBand; - float4 matcapALAlphaAdd; - float matcapALEmissionAddBand; - float4 matcapALEmissionAdd; - float matcapALIntensityAddBand; - float4 matcapALIntensityAdd; - float matcapALChronoPanType; - float matcapALChronoPanBand; - float matcapALChronoPanSpeed; - }; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - void calculateGlobalThemes(inout PoiMods poiMods) - { - float4 themeColorExposures = 0; - float4 themeColor0, themeColor1, themeColor2, themeColor3 = 0; - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor0.rgb, themeColorExposures.x); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor1.rgb, themeColorExposures.y); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor2.rgb, themeColorExposures.z); - DecomposeHDRColor(float4(1,1,1,1).rgb, themeColor3.rgb, themeColorExposures.w); - poiMods.globalColorTheme[0] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor0.rgb, frac((0.0 /*_GlobalThemeHue0*/) + (0.0 /*_GlobalThemeHueSpeed0*/) * _Time.x), (0.0 /*_GlobalThemeSaturation0*/), (0.0 /*_GlobalThemeValue0*/)), themeColorExposures.x), float4(1,1,1,1).a); - poiMods.globalColorTheme[1] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor1.rgb, frac((0.0 /*_GlobalThemeHue1*/) + (0.0 /*_GlobalThemeHueSpeed1*/) * _Time.x), (0.0 /*_GlobalThemeSaturation1*/), (0.0 /*_GlobalThemeValue1*/)), themeColorExposures.y), float4(1,1,1,1).a); - poiMods.globalColorTheme[2] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor2.rgb, frac((0.0 /*_GlobalThemeHue2*/) + (0.0 /*_GlobalThemeHueSpeed2*/) * _Time.x), (0.0 /*_GlobalThemeSaturation2*/), (0.0 /*_GlobalThemeValue2*/)), themeColorExposures.z), float4(1,1,1,1).a); - poiMods.globalColorTheme[3] = float4(ApplyHDRExposure(ModifyViaHSV(themeColor3.rgb, frac((0.0 /*_GlobalThemeHue3*/) + (0.0 /*_GlobalThemeHueSpeed3*/) * _Time.x), (0.0 /*_GlobalThemeSaturation3*/), (0.0 /*_GlobalThemeValue3*/)), themeColorExposures.w), float4(1,1,1,1).a); - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - #ifdef VIGNETTE_MASKED - float GetRemapMinValue(float scale, float offset) - { - return clamp(-offset / scale, -0.01f, 1.01f); // Remap min - } - float GetRemapMaxValue(float scale, float offset) - { - return clamp((1.0f - offset) / scale, -0.01f, 1.01f); // Remap Max - } - half4 POI_BRDF_PBS(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) - { - float3 reflDir = reflect(viewDir, normal); - half nl = saturate(dot(normal, light.dir)); - half nv = saturate(dot(normal, viewDir)); - half2 rlPow4AndFresnelTerm = Pow4(float2(dot(reflDir, light.dir), 1 - nv)); // use R.L instead of N.H to save couple of instructions - half rlPow4 = rlPow4AndFresnelTerm.x; // power exponent must match kHorizontalWarpExp in NHxRoughness() function in GeneratedTextures.cpp - half fresnelTerm = rlPow4AndFresnelTerm.y; - half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); - half3 color = BRDF3_Direct(diffColor, specColor, rlPow4, smoothness); - color *= light.color * nl; - color += BRDF3_Indirect(diffColor, specColor, gi, grazingTerm, fresnelTerm); - return half4(color, 1); - } - void calculateShading(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam) - { - float shadowAttenuation = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - float attenuation = 1; - #if defined(POINT) || defined(SPOT) - shadowAttenuation = lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - #ifdef POI_PASS_ADD - if ((3.0 /*_LightingAdditiveType*/) == 3) - { - #if defined(POINT) || defined(SPOT) - #if defined(_LIGHTINGMODE_REALISTIC) || defined(_LIGHTINGMODE_CLOTH) || defined(_LIGHTINGMODE_WRAPPED) - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - #endif - #endif - } - if ((3.0 /*_LightingAdditiveType*/) == 0) - { - poiLight.rampedLightMap = max(0, poiLight.nDotL); - poiLight.finalLighting = poiLight.directColor * attenuation * max(0, poiLight.nDotL) * poiLight.detailShadow * shadowAttenuation; - return; - } - if ((3.0 /*_LightingAdditiveType*/) == 1) - { - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - float passthrough = 0; - #else - float passthrough = (0.5 /*_LightingAdditivePassthrough*/); - #endif - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - poiLight.rampedLightMap = smoothstep(ToonAddGradient.y, ToonAddGradient.x, 1 - (.5 * poiLight.nDotL + .5)); - #if defined(POINT) || defined(SPOT) - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.additiveShadow, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #else - poiLight.finalLighting = lerp(poiLight.directColor * max(min(poiLight.attenuation, poiLight.detailShadow), passthrough), poiLight.indirectColor, smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.nDotL + .5))); - #endif - return; - } - #endif - float shadowStrength = (1.0 /*_ShadowStrength*/) * poiLight.shadowMask; - #ifdef POI_PASS_OUTLINE - shadowStrength = lerp(0, shadowStrength, (0.0 /*_OutlineShadowStrength*/)); - #endif - #ifdef _LIGHTINGMODE_FLAT - poiLight.finalLighting = poiLight.directColor * attenuation * shadowAttenuation; - if ((1.0 /*_ForceFlatRampedLightmap*/)) - { - poiLight.rampedLightMap = smoothstep(0.4, 0.6, poiLight.nDotLNormalized); - } - else - { - poiLight.rampedLightMap = 1; - } - #endif - if (poiFragData.toggleVertexLights) - { - #if defined(VERTEXLIGHT_ON) - float3 vertexLighting = float3(0, 0, 0); - for (int index = 0; index < 4; index++) - { - float lightingMode = (3.0 /*_LightingAdditiveType*/); - if (lightingMode == 3) - { - #if defined(_LIGHTINGMODE_REALISTIC) - lightingMode = 0; - #else - lightingMode = 1; - #endif - } - if (lightingMode == 0) - { - vertexLighting = max(vertexLighting, poiLight.vColor[index] * poiLight.vSaturatedDotNL[index] * poiLight.detailShadow); // Realistic - } - if (lightingMode == 1) - { - float2 ToonAddGradient = float2((0.0 /*_LightingAdditiveGradientStart*/), (0.5 /*_LightingAdditiveGradientEnd*/)); - if (ToonAddGradient.x == ToonAddGradient.y) ToonAddGradient.y += 0.0001; - vertexLighting = max(vertexLighting, lerp(poiLight.vColor[index], poiLight.vColor[index] * (0.5 /*_LightingAdditivePassthrough*/), smoothstep(ToonAddGradient.x, ToonAddGradient.y, 1 - (.5 * poiLight.vDotNL[index] + .5))) * poiLight.detailShadow); - } - } - float3 mixedLight = poiLight.finalLighting; - poiLight.finalLighting = max(vertexLighting, poiLight.finalLighting); - #endif - } - } - #endif - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - float2 decalUV(float uvNumber, float2 position, half rotation, half rotationSpeed, half2 scale, float4 scaleOffset, float depth, in float symmetryMode, in float mirroredUVMode, in PoiMesh poiMesh, in PoiCam poiCam) - { - scaleOffset = float4(-scaleOffset.x, scaleOffset.y, -scaleOffset.z, scaleOffset.w); - float2 centerOffset = float2((scaleOffset.x + scaleOffset.y) / 2, (scaleOffset.z + scaleOffset.w) / 2); - float2 uv = poiMesh.uv[uvNumber]; - if (symmetryMode == 1) uv.x = abs(uv.x - 0.5) + 0.5; - if (symmetryMode == 2 && uv.x < 0.5) uv.x = 1.0 - uv.x; - if ((mirroredUVMode == 1 || mirroredUVMode == 4) && poiMesh.isRightHand) uv.x = 1.0 - uv.x; - if (mirroredUVMode == 2 && poiMesh.isRightHand) uv.x = -1.0; - if ((mirroredUVMode == 3 || mirroredUVMode == 4) && !poiMesh.isRightHand) uv.x = -1.0; - uv += calcParallax(depth + 1, poiCam); - float2 decalCenter = position + centerOffset; - float theta = radians(rotation + _Time.z * rotationSpeed); - float cs = cos(theta); - float sn = sin(theta); - uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); - uv = remap(uv, float2(0, 0) - scale / 2 + position + scaleOffset.xz, scale / 2 + position + scaleOffset.yw, float2(0, 0), float2(1, 1)); - return uv; - } - inline float3 decalHueShift(float enabled, float3 color, float shift, float shiftSpeed, float colorSpace) - { - if (enabled) - { - color = hueShift(color, shift + _Time.x * shiftSpeed, colorSpace); - } - return color; - } - inline float applyTilingClipping(float enabled, float2 uv) - { - float ret = 1; - if (!enabled) - { - if (uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) - { - ret = 0; - } - } - return ret; - } - struct PoiDecal - { - float m_DecalFaceMask; - float m_DecalMaskChannel; - float m_DecalGlobalMask; - float m_DecalGlobalMaskBlendType; - float m_DecalApplyGlobalMaskIndex; - float m_DecalApplyGlobalMaskBlendType; - float4 m_DecalTexture_ST; - float2 m_DecalTexturePan; - float m_DecalTextureUV; - float4 m_DecalColor; - float m_DecalColorThemeIndex; - fixed m_DecalTiled; - float m_DecalBlendType; - half m_DecalRotation; - half3 m_DecalScale; - float4 m_DecalSideOffset; - half2 m_DecalPosition; - half m_DecalRotationSpeed; - float m_DecalEmissionStrength; - float m_DecalBlendAlpha; - float m_DecalAlphaBlendMode; - float m_DecalHueShiftColorSpace; - float m_DecalHueShiftEnabled; - float m_DecalHueShift; - float m_DecalHueShiftSpeed; - float m_DecalDepth; - float m_DecalHueAngleStrength; - float m_DecalChannelSeparationEnable; - float m_DecalChannelSeparation; - float m_DecalChannelSeparationPremultiply; - float m_DecalChannelSeparationHue; - float m_DecalChannelSeparationVertical; - float m_DecalChannelSeparationAngleStrength; - float m_DecalOverrideAlphaMode; - float m_DecalOverrideAlpha; - float m_DecalSymmetryMode; - float m_DecalMirroredUVMode; - #if defined(POI_AUDIOLINK) - half m_AudioLinkDecalScaleBand; - float4 m_AudioLinkDecalScale; - half m_AudioLinkDecalRotationBand; - float2 m_AudioLinkDecalRotation; - half m_AudioLinkDecalAlphaBand; - float2 m_AudioLinkDecalAlpha; - half m_AudioLinkDecalEmissionBand; - float2 m_AudioLinkDecalEmission; - float m_DecalRotationCTALBand; - float m_DecalRotationCTALSpeed; - float m_DecalRotationCTALType; - float m_AudioLinkDecalColorChord; - float m_AudioLinkDecalSideBand; - float4 m_AudioLinkDecalSideMin; - float4 m_AudioLinkDecalSideMax; - float2 m_AudioLinkDecalChannelSeparation; - float m_AudioLinkDecalChannelSeparationBand; - #endif - float4 decalColor; - float2 decalScale; - float decalRotation; - float2 uv; - float4 dduv; - float4 sideMod; - float decalChannelOffset; - float4 decalMask; - void Init(in float4 DecalMask) - { - decalMask = DecalMask; - decalScale = m_DecalScale.xy;// * m_DecalScale.z; - } - void InitAudiolink(in PoiMods poiMods) - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - decalScale += lerp(m_AudioLinkDecalScale.xy, m_AudioLinkDecalScale.zw, poiMods.audioLink[m_AudioLinkDecalScaleBand]); - sideMod += lerp(m_AudioLinkDecalSideMin, m_AudioLinkDecalSideMax, poiMods.audioLink[m_AudioLinkDecalSideBand]); - decalRotation += lerp(m_AudioLinkDecalRotation.x, m_AudioLinkDecalRotation.y, poiMods.audioLink[m_AudioLinkDecalRotationBand]); - decalRotation += AudioLinkGetChronoTime(m_DecalRotationCTALType, m_DecalRotationCTALBand) * m_DecalRotationCTALSpeed * 360; - decalChannelOffset += lerp(m_AudioLinkDecalChannelSeparation[0], m_AudioLinkDecalChannelSeparation[1], poiMods.audioLink[m_AudioLinkDecalChannelSeparationBand]); - } - #endif - } - void SampleDecalNoTexture(in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - decalColor = float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecal(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalNoAlpha(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor.rgb = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a).rgb; - decalColor.rgb = decalHueShift(m_DecalHueShiftEnabled, decalColor.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalAlphaOnly(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam, float2 scaleMultiplier = float2(1, 1)) - { - uv = decalUV(m_DecalTextureUV, m_DecalPosition, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale * scaleMultiplier, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduv = any(fwidth(uv) > .5) ? 0.001 : float4(ddx(uv) * m_DecalTexture_ST.x, ddy(uv) * m_DecalTexture_ST.y); - decalColor = tex2D(decalTexture, poiUV(uv, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduv.xy, dduv.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * applyTilingClipping(m_DecalTiled, uv); - } - void SampleDecalChannelSeparation(sampler2D decalTexture, in PoiMods poiMods, in PoiLight poiLight, in PoiMesh poiMesh, in PoiCam poiCam) - { - decalColor = float4(0, 0, 0, 1); - decalChannelOffset += m_DecalChannelSeparation + m_DecalChannelSeparationAngleStrength * (m_DecalChannelSeparationAngleStrength > 0 ? (1 - poiLight.nDotV) : poiLight.nDotV); - float2 positionOffset = decalChannelOffset * 0.01 * (decalScale.x + decalScale.y) * float2(cos(m_DecalChannelSeparationVertical), sin(m_DecalChannelSeparationVertical)); - float2 uvSample0 = decalUV(m_DecalTextureUV, m_DecalPosition + positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float2 uvSample1 = decalUV(m_DecalTextureUV, m_DecalPosition - positionOffset, m_DecalRotation + decalRotation, m_DecalRotationSpeed, decalScale, m_DecalSideOffset +sideMod, m_DecalDepth, m_DecalSymmetryMode, m_DecalMirroredUVMode, poiMesh, poiCam); - float4 dduvSample0 = any(fwidth(uvSample0) > .5) ? 0.001 : float4(ddx(uvSample0) * m_DecalTexture_ST.x, ddy(uvSample0) * m_DecalTexture_ST.y); - float4 dduvSample1 = any(fwidth(uvSample1) > .5) ? 0.001 : float4(ddx(uvSample1) * m_DecalTexture_ST.x, ddy(uvSample1) * m_DecalTexture_ST.y); - float4 sample0 = tex2D(decalTexture, poiUV(uvSample0, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample0.xy, dduvSample0.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - float4 sample1 = tex2D(decalTexture, poiUV(uvSample1, m_DecalTexture_ST) + m_DecalTexturePan * _Time.x, dduvSample1.xy, dduvSample1.zw) * float4(poiThemeColor(poiMods, m_DecalColor.rgb, m_DecalColorThemeIndex), m_DecalColor.a); - sample0.rgb = decalHueShift(m_DecalHueShiftEnabled, sample0.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - sample1.rgb = decalHueShift(m_DecalHueShiftEnabled, sample1.rgb, m_DecalHueShift + poiLight.nDotV * m_DecalHueAngleStrength, m_DecalHueShiftSpeed, m_DecalHueShiftColorSpace); - float3 channelSeparationColor = HUEtoRGB(frac(m_DecalChannelSeparationHue)); - if (m_DecalChannelSeparationPremultiply) - { - decalColor.rgb = lerp(sample0 * sample0.a, sample1 * sample1.a, channelSeparationColor); - } - else - { - decalColor.rgb = lerp(sample0, sample1, channelSeparationColor); - } - decalColor.a = 0.5 * (sample0.a + sample1.a); - decalColor.a *= decalMask[m_DecalMaskChannel] * max(applyTilingClipping(m_DecalTiled, uvSample0), applyTilingClipping(m_DecalTiled, uvSample1)); - } - void Apply(inout float alphaOverride, inout float decalAlpha, inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - if (m_DecalGlobalMask > 0) - { - decalColor.a = maskBlend(decalColor.a, poiMods.globalMask[m_DecalGlobalMask - 1], m_DecalGlobalMaskBlendType); - } - if (m_DecalMirroredUVMode == 2 && poiMesh.isRightHand) decalColor.a = 0; - if ((m_DecalMirroredUVMode == 3 || m_DecalMirroredUVMode == 4) && !poiMesh.isRightHand) decalColor.a = 0; - float audioLinkDecalAlpha = 0; - float audioLinkDecalEmission = 0; - #ifdef POI_AUDIOLINK - audioLinkDecalEmission = lerp(m_AudioLinkDecalEmission.x, m_AudioLinkDecalEmission.y, poiMods.audioLink[m_AudioLinkDecalEmissionBand]) * poiMods.audioLinkAvailable; - if (m_AudioLinkDecalColorChord) - { - if (poiMods.audioLinkAvailable) - { - decalColor.rgb *= AudioLinkLerp(ALPASS_CCSTRIP + float2(uv.x * AUDIOLINK_WIDTH, 0)).rgb; - } - else - { - decalAlpha = 0; - } - } - audioLinkDecalAlpha = lerp(m_AudioLinkDecalAlpha.x, m_AudioLinkDecalAlpha.y, poiMods.audioLink[m_AudioLinkDecalAlphaBand]) * poiMods.audioLinkAvailable; - #endif - if (m_DecalFaceMask > 0) - { - if (m_DecalFaceMask == 1 && !poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - else if (m_DecalFaceMask == 2 && poiMesh.isFrontFace) - { - decalColor.a *= 0; - } - } - float decalAlphaMixed = decalColor.a * saturate(m_DecalBlendAlpha + audioLinkDecalAlpha); - if (m_DecalOverrideAlpha) - { - float finalAlpha = decalAlphaMixed; - if (m_DecalOverrideAlphaMode != 0 && !m_DecalTiled) - { - if (uv.x > 0 && uv.x < 1 && uv.y > 0 && uv.y < 1) - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - else - { - if (m_DecalOverrideAlpha == 1) poiFragData.alpha = finalAlpha; - if (m_DecalOverrideAlpha == 2) poiFragData.alpha = saturate(poiFragData.alpha * finalAlpha); - if (m_DecalOverrideAlpha == 3) poiFragData.alpha = saturate(poiFragData.alpha + finalAlpha); - if (m_DecalOverrideAlpha == 4) poiFragData.alpha = saturate(poiFragData.alpha - finalAlpha); - if (m_DecalOverrideAlpha == 5) poiFragData.alpha = min(poiFragData.alpha, finalAlpha); - if (m_DecalOverrideAlpha == 6) poiFragData.alpha = max(poiFragData.alpha, finalAlpha); - } - } - if (m_DecalApplyGlobalMaskIndex > 0) - { - applyToGlobalMask(poiMods, m_DecalApplyGlobalMaskIndex - 1, m_DecalApplyGlobalMaskBlendType, decalAlphaMixed); - } - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, customBlend(poiFragData.baseColor.rgb, decalColor.rgb, m_DecalBlendType), decalAlphaMixed); - poiFragData.emission += decalColor.rgb * decalColor.a * max(m_DecalEmissionStrength + audioLinkDecalEmission, 0); - } - float2 GetVideoAspectRatio(float2 videoDimensions, float CorrectionType, float fitToScale) - { - float2 AspectRatioMultiplier = float2(1, 1); - if (fitToScale) - { - float2 decalScale = m_DecalScale.xy + float2(m_DecalSideOffset.x + m_DecalSideOffset.y, m_DecalSideOffset.z + m_DecalSideOffset.w); - if (decalScale.x > decalScale.y) - { - videoDimensions.xy *= float2((decalScale.y / decalScale.x), 1); - } - else - { - videoDimensions.xy *= float2(1, (decalScale.x / decalScale.y)); - } - } - if (CorrectionType != 2) - { - if (CorrectionType == 0) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1, videoDimensions.y / videoDimensions.x); - } - else - { - AspectRatioMultiplier = float2(videoDimensions.x / videoDimensions.y, 1); - } - } - else if (CorrectionType == 1) - { - if (videoDimensions.x > videoDimensions.y) - { - AspectRatioMultiplier = float2(1 / (videoDimensions.y / videoDimensions.x), 1); - } - else - { - AspectRatioMultiplier = float2(1, 1 / (videoDimensions.x / videoDimensions.y)); - } - } - } - return AspectRatioMultiplier; - } - }; - void applyDecals(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, inout PoiMods poiMods, in PoiLight poiLight) - { - float udonVideoTexAvailable = 0; - float2 udonVideoAspectRatio = 1; - if (_Udon_VideoTex_TexelSize.z > 16) - { - udonVideoTexAvailable = 1; - } - float decalAlpha = 1; - float alphaOverride = 0; - #if defined(PROP_DECALMASK) || !defined(OPTIMIZER_ENABLED) - float4 decalMask = POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_DecalMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #else - float4 decalMask = 1; - #endif - #ifdef TPS_Penetrator - if ((0.0 /*_DecalTPSDepthMaskEnabled*/)) - { - decalMask.r = lerp(0, decalMask.r * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal0TPSMaskStrength*/)); - decalMask.g = lerp(0, decalMask.g * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal1TPSMaskStrength*/)); - decalMask.b = lerp(0, decalMask.b * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal2TPSMaskStrength*/)); - decalMask.a = lerp(0, decalMask.a * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_Decal3TPSMaskStrength*/)); - } - #endif - float4 decalColor = 1; - float2 uv = 0; - } - #endif - void blendMatcap(inout PoiLight poiLight, inout PoiFragData poiFragData, in PoiMods poiMods, float add, float lightAdd, float multiply, float replace, float mixed, float screen, float4 matcapColor, float matcapMask, float emissionStrength, float matcapLightMask, uint globalMaskIndex, float globalMaskBlendType, in MatcapAudioLinkData matcapALD) - { - if (matcapLightMask) - { - matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); - } - if (globalMaskIndex > 0) - { - matcapMask = maskBlend(matcapMask, poiMods.globalMask[globalMaskIndex - 1], globalMaskBlendType); - } - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapColor.a = saturate(matcapColor.a + lerp(matcapALD.matcapALAlphaAdd.x, matcapALD.matcapALAlphaAdd.y, poiMods.audioLink[matcapALD.matcapALAlphaAddBand])); - emissionStrength += lerp(matcapALD.matcapALEmissionAdd.x, matcapALD.matcapALEmissionAdd.y, poiMods.audioLink[matcapALD.matcapALEmissionAddBand]); - } - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a * .999999); - poiFragData.baseColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); - poiFragData.baseColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, blendScreen(poiFragData.baseColor.rgb, matcapColor.rgb), screen * matcapMask * matcapColor.a); - #ifdef POI_PASS_BASE - poiLight.finalLightAdd += matcapColor.rgb * lightAdd * matcapMask * matcapColor.a; - #endif - poiFragData.baseColor.rgb = lerp(poiFragData.baseColor.rgb, poiFragData.baseColor.rgb + poiFragData.baseColor.rgb * matcapColor.rgb, mixed * matcapMask * matcapColor.a); - poiFragData.emission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; - } - void getMatcapUV(inout float2 matcapUV, in float2 matcapPan, in float matcapUVMode, in float matcapUVToBlend, in float2 matCapBlendUV, in float matcapRotation, in float matcapBorder, in float3 normal, in PoiCam poiCam, in PoiLight poiLight, in PoiMesh poiMesh, in float matcapNormalStrength, in MatcapAudioLinkData matcapALD) - { - switch(matcapUVMode) - { - case 0: - { - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(normal, 0))).rgb; - float3 NormalBlend_MatCapUV_Detail = viewNormal.rgb * float3(-1, -1, 1); - float3 NormalBlend_MatCapUV_Base = (mul(UNITY_MATRIX_V, float4(poiCam.viewDir, 0)).rgb * float3(-1, -1, 1)) + float3(0, 0, 1); - float3 noSknewViewNormal = NormalBlend_MatCapUV_Base * dot(NormalBlend_MatCapUV_Base, NormalBlend_MatCapUV_Detail) / NormalBlend_MatCapUV_Base.b - NormalBlend_MatCapUV_Detail; - matcapUV = noSknewViewNormal.rg * matcapBorder + 0.5; - break; - } - case 1: - { - float3 worldViewUp = normalize(float3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, float3(0, 1, 0))); - float3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); - matcapUV = float2(dot(worldViewRight, normal), dot(worldViewUp, normal)) * matcapBorder + 0.5; - break; - } - case 2: - { - float3 reflection = reflect(-poiCam.viewDir, normal); - float2 uv = float2(dot(reflection, float3(1, 0, 0)), dot(reflection, float3(0, 1, 0))); - matcapUV = uv * matcapBorder + 0.5; - break; - } - case 3: - { - matcapUV = 1 - abs(dot(normal, poiCam.viewDir)); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled) - { - matcapUV += AudioLinkGetChronoTime(matcapALD.matcapALChronoPanType, matcapALD.matcapALChronoPanBand) * matcapALD.matcapALChronoPanSpeed; - } - #endif - break; - } - } - matcapUV = lerp(matcapUV, poiMesh.uv[matcapUVToBlend], matCapBlendUV); - matcapUV += matcapPan * _Time.x; - matcapUV = RotateUV(matcapUV, matcapRotation * PI, float2(.5, .5), 1.0f); - if (IsInMirror() && matcapUVMode != 3) - { - matcapUV.x = 1 - matcapUV.x; - } - } - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - void applyMatcap(inout PoiFragData poiFragData, in PoiCam poiCam, in PoiMesh poiMesh, inout PoiLight poiLight, in PoiMods poiMods) - { - float4 matcap = 0; - float matcapMask = 0; - float4 matcap2 = 0; - float matcap2Mask = 0; - float4 matcap3 = 0; - float matcap3Mask = 0; - float4 matcap4 = 0; - float matcap4Mask = 0; - float2 matcapUV = 0; - float matcapIntensity; - struct MatcapAudioLinkData matcapALD; - #ifdef POI_MATCAP0 - matcapALD.matcapALEnabled = (0.0 /*_Matcap0ALEnabled*/); - matcapALD.matcapALAlphaAddBand = (0.0 /*_Matcap0ALAlphaAddBand*/); - matcapALD.matcapALAlphaAdd = float4(0,0,0,0); - matcapALD.matcapALEmissionAddBand = (0.0 /*_Matcap0ALEmissionAddBand*/); - matcapALD.matcapALEmissionAdd = float4(0,0,0,0); - matcapALD.matcapALIntensityAddBand = (0.0 /*_Matcap0ALIntensityAddBand*/); - matcapALD.matcapALIntensityAdd = float4(0,0,0,0); - matcapALD.matcapALChronoPanType = (0.0 /*_Matcap0ALChronoPanType*/); - matcapALD.matcapALChronoPanBand = (0.0 /*_Matcap0ALChronoPanBand*/); - matcapALD.matcapALChronoPanSpeed = (0.0 /*_Matcap0ALChronoPanSpeed*/); - float3 normal0 = lerp(poiMesh.normals[0], poiMesh.normals[1], (1.0 /*_MatcapNormal*/)); - #if defined(PROP_MATCAP) || !defined(OPTIMIZER_ENABLED) - getMatcapUV(matcapUV, float4(0,0,0,0).xy, (1.0 /*_MatcapUVMode*/), (1.0 /*_MatcapUVToBlend*/), float4(0,0,0,0).xy, (0.0 /*_MatcapRotation*/), (0.43 /*_MatcapBorder*/), normal0, poiCam, poiLight, poiMesh, (1.0 /*_MatcapNormal*/), matcapALD); - if ((0.0 /*_MatcapSmoothnessEnabled*/)) - { - float mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 8192) mipCount0 = 13; - if (float4(0.001953125,0.001953125,512,512).z == 4096) mipCount0 = 12; - if (float4(0.001953125,0.001953125,512,512).z == 2048) mipCount0 = 11; - if (float4(0.001953125,0.001953125,512,512).z == 1024) mipCount0 = 10; - if (float4(0.001953125,0.001953125,512,512).z == 512) mipCount0 = 9; - if (float4(0.001953125,0.001953125,512,512).z == 256) mipCount0 = 8; - if (float4(0.001953125,0.001953125,512,512).z == 128) mipCount0 = 7; - if (float4(0.001953125,0.001953125,512,512).z == 64) mipCount0 = 6; - if (float4(0.001953125,0.001953125,512,512).z == 32) mipCount0 = 5; - float matcapSmoothness = (1.0 /*_MatcapSmoothness*/); - if ((0.0 /*_MatcapMaskSmoothnessApply*/)) - { - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapSmoothness *= POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(3.0 /*_MatcapMaskSmoothnessChannel*/)]; - #endif - } - matcapSmoothness = (1 - matcapSmoothness) * mipCount0; - matcap = UNITY_SAMPLE_TEX2D_SAMPLER_LOD(_Matcap, _trilinear_repeat, TRANSFORM_TEX(matcapUV, _Matcap), matcapSmoothness) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - else - { - matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - } - #else - matcap = float4(poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_MatcapColorThemeIndex*/)), float4(1,1,1,1).a); - #endif - matcapIntensity = (1.0 /*_MatcapIntensity*/); - #ifdef POI_AUDIOLINK - if (matcapALD.matcapALEnabled > 0) - { - matcapIntensity += lerp(matcapALD.matcapALIntensityAdd.x, matcapALD.matcapALIntensityAdd.y, poiMods.audioLink[matcapALD.matcapALIntensityAddBand]); - matcapIntensity = max(0, matcapIntensity); - } - #endif - matcap.rgb *= matcapIntensity; - matcap.rgb = lerp(matcap.rgb, matcap.rgb * poiFragData.baseColor.rgb, (0.0 /*_MatcapBaseColorMix*/)); - #if defined(PROP_MATCAPMASK) || !defined(OPTIMIZER_ENABLED) - matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_MatcapMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0))[(0.0 /*_MatcapMaskChannel*/)]; - #else - matcapMask = 1; - #endif - if ((0.0 /*_MatcapMaskInvert*/)) - { - matcapMask = 1 - matcapMask; - } - #ifdef TPS_Penetrator - if ((0.0 /*_MatcapTPSDepthEnabled*/)) - { - matcapMask = lerp(0, matcapMask * TPSBufferedDepth(poiMesh.localPos, poiMesh.vertexColor), (1.0 /*_MatcapTPSMaskStrength*/)); - } - #endif - poiFragData.alpha *= lerp(1, matcap.a, matcapMask * (0.0 /*_MatcapAlphaOverride*/)); - if ((0.0 /*_MatcapHueShiftEnabled*/)) - { - matcap.rgb = hueShift(matcap.rgb, (0.0 /*_MatcapHueShift*/) + _Time.x * (0.0 /*_MatcapHueShiftSpeed*/), (0.0 /*_MatcapHueShiftColorSpace*/)); - } - if ((0 /*_MatcapApplyToAlphaEnabled*/)) - { - float matcapAlphaApplyValue = dot(matcap.rgb, float3(0.299, 0.587, 0.114)); // Greyscale - if ((0 /*_MatcapApplyToAlphaSourceBlend*/) == 1) // Max - { - matcapAlphaApplyValue = poiMax(matcap.rgb); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 0) // Add - { - poiFragData.alpha += lerp(0, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - poiFragData.alpha = saturate(poiFragData.alpha); - } - if ((0 /*_MatcapApplyToAlphaBlendType*/) == 1) // Multiply - { - poiFragData.alpha *= lerp(1, matcapAlphaApplyValue, (1.0 /*_MatcapApplyToAlphaBlending*/)); - } - } - blendMatcap(poiLight, poiFragData, poiMods, (1.0 /*_MatcapAdd*/), (0.0 /*_MatcapAddToLight*/), (0.0 /*_MatcapMultiply*/), (0.0 /*_MatcapReplace*/), (0.0 /*_MatcapMixed*/), (0.0 /*_MatcapScreen*/), matcap, matcapMask, (0.0 /*_MatcapEmissionStrength*/), (0.0 /*_MatcapLightMask*/), (0.0 /*_MatcapMaskGlobalMask*/), (2.0 /*_MatcapMaskGlobalMaskBlendType*/), matcapALD); - #endif - } - #endif - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - calculateGlobalThemes(poiMods); - poiLight.finalLightAdd = 0; - #if defined(PROP_LIGHTINGAOMAPS) || !defined(OPTIMIZER_ENABLED) - float4 AOMaps = POI2D_SAMPLER_PAN(_LightingAOMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingAOMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.occlusion = min(min(min(lerp(1, AOMaps.r, (1.0 /*_LightDataAOStrengthR*/)), lerp(1, AOMaps.g, (0.0 /*_LightDataAOStrengthG*/))), lerp(1, AOMaps.b, (0.0 /*_LightDataAOStrengthB*/))), lerp(1, AOMaps.a, (0.0 /*_LightDataAOStrengthA*/))); - #else - poiLight.occlusion = 1; - #endif - if ((0.0 /*_LightDataAOGlobalMaskR*/) > 0) - { - poiLight.occlusion = maskBlend(poiLight.occlusion, poiMods.globalMask[(0.0 /*_LightDataAOGlobalMaskR*/) - 1], (2.0 /*_LightDataAOGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGDETAILSHADOWMAPS) || !defined(OPTIMIZER_ENABLED) - float4 DetailShadows = POI2D_SAMPLER_PAN(_LightingDetailShadowMaps, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingDetailShadowMapsUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - #ifndef POI_PASS_ADD - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingDetailShadowStrengthA*/)); - #else - poiLight.detailShadow = lerp(1, DetailShadows.r, (1.0 /*_LightingAddDetailShadowStrengthR*/)) * lerp(1, DetailShadows.g, (0.0 /*_LightingAddDetailShadowStrengthG*/)) * lerp(1, DetailShadows.b, (0.0 /*_LightingAddDetailShadowStrengthB*/)) * lerp(1, DetailShadows.a, (0.0 /*_LightingAddDetailShadowStrengthA*/)); - #endif - #else - poiLight.detailShadow = 1; - #endif - if ((0.0 /*_LightDataDetailShadowGlobalMaskR*/) > 0) - { - poiLight.detailShadow = maskBlend(poiLight.detailShadow, poiMods.globalMask[(0.0 /*_LightDataDetailShadowGlobalMaskR*/) - 1], (2.0 /*_LightDataDetailShadowGlobalMaskBlendTypeR*/)); - } - #if defined(PROP_LIGHTINGSHADOWMASKS) || !defined(OPTIMIZER_ENABLED) - float4 ShadowMasks = POI2D_SAMPLER_PAN(_LightingShadowMasks, _MainTex, poiUV(poiMesh.uv[(0.0 /*_LightingShadowMasksUV*/)], float4(1,1,0,0)), float4(0,0,0,0)); - poiLight.shadowMask = lerp(1, ShadowMasks.r, (1.0 /*_LightingShadowMaskStrengthR*/)) * lerp(1, ShadowMasks.g, (0.0 /*_LightingShadowMaskStrengthG*/)) * lerp(1, ShadowMasks.b, (0.0 /*_LightingShadowMaskStrengthB*/)) * lerp(1, ShadowMasks.a, (0.0 /*_LightingShadowMaskStrengthA*/)); - #else - poiLight.shadowMask = 1; - #endif - if ((0.0 /*_LightDataShadowMaskGlobalMaskR*/) > 0) - { - poiLight.shadowMask = maskBlend(poiLight.shadowMask, poiMods.globalMask[(0.0 /*_LightDataShadowMaskGlobalMaskR*/) - 1], (2.0 /*_LightDataShadowMaskGlobalMaskBlendTypeR*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - bool lightExists = false; - if (any(_LightColor0.rgb >= 0.002)) - { - lightExists = true; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - poiFragData.toggleVertexLights = 1; - } - if (IsInMirror() && (1.0 /*_LightingMirrorVertexLightingEnabled*/) == 0) - { - poiFragData.toggleVertexLights = 0; - } - if ((1.0 /*_LightingVertexLightingEnabled*/)) - { - #if defined(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.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vertexVDotNL = 0; - poiLight.vertexVDotNL += toLightX * poiMesh.normals[0].x; - poiLight.vertexVDotNL += toLightY * poiMesh.normals[0].y; - poiLight.vertexVDotNL += toLightZ * poiMesh.normals[0].z; - poiLight.vertexVDotNL = max(0, poiLight.vDotNL * corr); - poiLight.vSaturatedDotNL = saturate(poiLight.vDotNL); - [unroll] - 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] = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(unity_LightColor[index].rgb * poiLight.vAttenuation[index], (1.0 /*_LightingAdditiveLimit*/)) : unity_LightColor[index].rgb * poiLight.vAttenuation[index]; - poiLight.vColor[index] = lerp(poiLight.vColor[index], dot(poiLight.vColor[index], float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - 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] = dot(poiMesh.normals[1], poiLight.vHalfDir[index]); - poiLight.vertexVDotNH[index] = saturate(dot(poiMesh.normals[0], poiLight.vHalfDir[index])); - } - #endif - } - if ((0.0 /*_LightingColorMode*/) == 0) // Poi Custom Light Color - { - 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 + normalLight; - float properLuminance = calculateluminance(magic + normalLight); - poiLight.directColor = properLightColor * max(0.0001, (target / properLuminance)); - poiLight.indirectColor = BetterSH9(float4(lerp(0, poiMesh.normals[1], (0.0 /*_LightingIndirectUsesNormals*/)), 1)); - } - if ((0.0 /*_LightingColorMode*/) == 1) // More standard approach to light color - { - float3 indirectColor = BetterSH9(float4(poiMesh.normals[1], 1)); - if (lightExists) - { - poiLight.directColor = _LightColor0.rgb; - poiLight.indirectColor = indirectColor; - } - else - { - poiLight.directColor = indirectColor * 0.6; - poiLight.indirectColor = indirectColor * 0.5; - } - } - if ((0.0 /*_LightingColorMode*/) == 2) // UTS style - { - poiLight.indirectColor = saturate(max(half3(0.05, 0.05, 0.05) * (1.0 /*_Unlit_Intensity*/), max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)), ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb) * (1.0 /*_Unlit_Intensity*/))); - poiLight.directColor = max(poiLight.indirectColor, _LightColor0.rgb); - } - if ((0.0 /*_LightingColorMode*/) == 3) // OpenLit - { - float3 lightDirectionForSH9 = OpenLitLightingDirectionForSH9(); - OpenLitShadeSH9ToonDouble(lightDirectionForSH9, poiLight.directColor, poiLight.indirectColor); - poiLight.directColor += _LightColor0.rgb; - } - float lightMapMode = (0.0 /*_LightingMapMode*/); - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = _WorldSpaceLightPos0.xyz + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz; - } - if ((0.0 /*_LightingDirectionMode*/) == 1 || (0.0 /*_LightingDirectionMode*/) == 2) - { - if ((0.0 /*_LightingDirectionMode*/) == 1) - { - poiLight.direction = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz;; - } - if ((0.0 /*_LightingDirectionMode*/) == 2) - { - poiLight.direction = float4(0,0,0,1); - } - if (lightMapMode == 0) - { - lightMapMode == 1; - } - } - if ((0.0 /*_LightingDirectionMode*/) == 3) // UTS - { - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection, _WorldSpaceLightPos0.xyz, any(_WorldSpaceLightPos0.xyz))); - poiLight.direction = lightDirection; - } - if ((0.0 /*_LightingDirectionMode*/) == 4) // OpenLit - { - poiLight.direction = OpenLitLightingDirection(); // float4 customDir = 0; // Do we want to give users to alter this (OpenLit always does!)? - } - if ((0.0 /*_LightingDirectionMode*/) == 5) // View Direction - { - float3 upViewDir = normalize(UNITY_MATRIX_V[1].xyz); - float3 rightViewDir = normalize(UNITY_MATRIX_V[0].xyz); - float yawOffset_Rads = radians(!IsInMirror() ? - (0.0 /*_LightingViewDirOffsetYaw*/) : (0.0 /*_LightingViewDirOffsetYaw*/)); - float3 rotatedViewYaw = normalize(RotateAroundAxis(rightViewDir, upViewDir, yawOffset_Rads)); - float3 rotatedViewCameraMeshOffset = RotateAroundAxis((getCameraPosition() - (poiMesh.worldPos)), upViewDir, yawOffset_Rads); - float pitchOffset_Rads = radians(!IsInMirror() ? (0.0 /*_LightingViewDirOffsetPitch*/) : - (0.0 /*_LightingViewDirOffsetPitch*/)); - float3 rotatedViewPitch = RotateAroundAxis(rotatedViewCameraMeshOffset, rotatedViewYaw, pitchOffset_Rads); - poiLight.direction = normalize(rotatedViewPitch); - } - if (!any(poiLight.direction)) - { - poiLight.direction = float3(.4, 1, .4); - } - poiLight.direction = normalize(poiLight.direction); - poiLight.attenuationStrength = (0.0 /*_LightingCastedShadows*/); - poiLight.attenuation = 1; - if (!all(_LightColor0.rgb == 0.0)) - { - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation *= attenuation; - } - #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) - half bakedAtten = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); - float zDist = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); - float fadeDist = UnityComputeShadowFadeDistance(poiMesh.worldPos, zDist); - poiLight.attenuation = UnityMixRealtimeAndBakedShadows(poiLight.attenuation, bakedAtten, UnityComputeShadowFade(fadeDist)); - #endif - if (!any(poiLight.directColor) && !any(poiLight.indirectColor) && lightMapMode == 0) - { - lightMapMode = 1; - if ((0.0 /*_LightingDirectionMode*/) == 0) - { - poiLight.direction = normalize(float3(.4, 1, .4)); - } - } - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = max(0.00001, dot(poiLight.direction, poiLight.halfDir)); - if (lightMapMode == 0) - { - 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; - float3 greyScaleVector = float3(.33333, .33333, .33333); - float bw_lightColor = dot(poiLight.directColor, greyScaleVector); - float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, poiLight.attenuationStrength)) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_directLightingNoAtten = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor) + dot(ShadeSH9(float4(poiMesh.normals[1], 1)), greyScaleVector)); - float bw_bottomIndirectLighting = dot(ShadeSH9Minus, greyScaleVector); - float bw_topIndirectLighting = dot(ShadeSH9Plus, greyScaleVector); - float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); - poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); - poiLight.lightMapNoAttenuation = smoothstep(0, lightDifference, bw_directLightingNoAtten - bw_bottomIndirectLighting); - } - if (lightMapMode == 1) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLNormalized; - poiLight.lightMap = poiLight.nDotLNormalized * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 2) - { - poiLight.lightMapNoAttenuation = poiLight.nDotLSaturated; - poiLight.lightMap = poiLight.nDotLSaturated * lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - if (lightMapMode == 3) - { - poiLight.lightMapNoAttenuation = 1; - poiLight.lightMap = lerp(1, poiLight.attenuation, poiLight.attenuationStrength); - } - poiLight.lightMapNoAttenuation *= poiLight.detailShadow; - poiLight.lightMap *= poiLight.detailShadow; - poiLight.directColor = max(poiLight.directColor, 0.0001); - poiLight.indirectColor = max(poiLight.indirectColor, 0.0001); - if ((0.0 /*_LightingColorMode*/) == 3) - { - poiLight.directColor = max(poiLight.directColor, (0.0 /*_LightingMinLightBrightness*/)); - } - else - { - poiLight.directColor = max(poiLight.directColor, poiLight.directColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.directColor))))); - poiLight.indirectColor = max(poiLight.indirectColor, poiLight.indirectColor * min(10000, ((0.0 /*_LightingMinLightBrightness*/) * rcp(calculateluminance(poiLight.indirectColor))))); - } - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingMonochromatic*/)); - if ((1.0 /*_LightingCapEnabled*/)) - { - poiLight.directColor = min(poiLight.directColor, (1.0 /*_LightingCap*/)); - poiLight.indirectColor = min(poiLight.indirectColor, (1.0 /*_LightingCap*/)); - } - if ((0.0 /*_LightingForceColorEnabled*/)) - { - poiLight.directColor = poiThemeColor(poiMods, float4(1,1,1,1), (0.0 /*_LightingForcedColorThemeIndex*/)); - } - #ifdef UNITY_PASS_FORWARDBASE - poiLight.directColor = max(poiLight.directColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.directColor = max(poiLight.directColor + (0.0 /*_PPLightingAddition*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor * (1.0 /*_PPLightingMultiplier*/), 0); - poiLight.indirectColor = max(poiLight.indirectColor + (0.0 /*_PPLightingAddition*/), 0); - #endif - #endif - #ifdef POI_PASS_ADD - if (!(1.0 /*_LightingAdditiveEnable*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #if defined(DIRECTIONAL) - if ((1.0 /*_DisableDirectionalInAdd*/)) - { - return float4(mainTexture.rgb * .0001, 1); - } - #endif - poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos.xyz * _WorldSpaceLightPos0.w); - #if defined(POINT) || defined(SPOT) - #ifdef POINT - unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)).xyz; - poiLight.attenuation = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; - #endif - #ifdef SPOT - unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(poiMesh.worldPos, 1)); - poiLight.attenuation = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); - #endif - #else - UNITY_LIGHT_ATTENUATION(attenuation, i, poiMesh.worldPos) - poiLight.attenuation = attenuation; - #endif - poiLight.additiveShadow = UNITY_SHADOW_ATTENUATION(i, poiMesh.worldPos); - poiLight.attenuationStrength = (1.0 /*_LightingAdditiveCastedShadows*/); - poiLight.directColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(_LightColor0.rgb * poiLight.attenuation, (1.0 /*_LightingAdditiveLimit*/)) : _LightColor0.rgb * poiLight.attenuation; - #if defined(POINT_COOKIE) || defined(DIRECTIONAL_COOKIE) - poiLight.indirectColor = 0; - #else - poiLight.indirectColor = lerp(0, poiLight.directColor, (0.5 /*_LightingAdditivePassthrough*/)); - poiLight.indirectColor = (1.0 /*_LightingAdditiveLimited*/) ? MaxLuminance(poiLight.indirectColor, (1.0 /*_LightingAdditiveLimit*/)) : poiLight.indirectColor; - #endif - poiLight.directColor = lerp(poiLight.directColor, dot(poiLight.directColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.indirectColor = lerp(poiLight.indirectColor, dot(poiLight.indirectColor, float3(0.299, 0.587, 0.114)), (0.0 /*_LightingAdditiveMonochromatic*/)); - poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); - poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); - poiLight.nDotLSaturated = saturate(poiLight.nDotL); - poiLight.nDotLNormalized = (poiLight.nDotL + 1) * 0.5; - poiLight.nDotV = abs(dot(poiMesh.normals[1], poiCam.viewDir)); - poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); - poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); - poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); - poiLight.vertexNDotL = dot(poiMesh.normals[0], poiLight.direction); - poiLight.vertexNDotV = abs(dot(poiMesh.normals[0], poiCam.viewDir)); - poiLight.vertexNDotH = max(0.00001, dot(poiMesh.normals[0], poiLight.halfDir)); - if ((0.0 /*_LightingMapMode*/) == 0 || (0.0 /*_LightingMapMode*/) == 1 || (0.0 /*_LightingMapMode*/) == 2) - { - poiLight.lightMap = poiLight.nDotLNormalized; - } - if ((0.0 /*_LightingMapMode*/) == 3) - { - poiLight.lightMap = 1; - } - poiLight.lightMap *= poiLight.detailShadow; - poiLight.lightMapNoAttenuation = poiLight.lightMap; - poiLight.lightMap *= lerp(1, poiLight.additiveShadow, poiLight.attenuationStrength); - #endif - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - #if defined(_LIGHTINGMODE_SHADEMAP) && defined(VIGNETTE_MASKED) - #ifndef POI_PASS_OUTLINE - #endif - #endif - #ifdef VIGNETTE_MASKED - #ifdef POI_PASS_OUTLINE - if ((1.0 /*_OutlineLit*/)) - { - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - } - else - { - poiLight.finalLighting = 1; - } - #else - calculateShading(poiLight, poiFragData, poiMesh, poiCam); - #endif - #else - poiLight.finalLighting = 1; - poiLight.rampedLightMap = poiEdgeNonLinear(poiLight.nDotL, 0.1, .1); - #endif - if ((0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapApplyGlobalMaskBlendType*/), poiLight.rampedLightMap); - } - if ((0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) > 0) - { - applyToGlobalMask(poiMods, (0.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskIndex*/) - 1, (2.0 /*_ShadingRampedLightMapInverseApplyGlobalMaskBlendType*/), 1 - poiLight.rampedLightMap); - } - poiLight.directLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.indirectLuminance = dot(poiLight.directColor, float3(0.299, 0.587, 0.114)); - poiLight.finalLuminance = dot(poiLight.finalLighting, float3(0.299, 0.587, 0.114)); - #if defined(GEOM_TYPE_BRANCH) || defined(GEOM_TYPE_BRANCH_DETAIL) || defined(GEOM_TYPE_FROND) || defined(DEPTH_OF_FIELD_COC_VIEW) - applyDecals(poiFragData, poiMesh, poiCam, poiMods, poiLight); - #endif - #if defined(POI_MATCAP0) || defined(COLOR_GRADING_HDR_3D) || defined(POI_MATCAP2) || defined(POI_MATCAP3) - applyMatcap(poiFragData, poiCam, poiMesh, poiLight, poiMods); - #endif - if ((0.0 /*_AlphaPremultiply*/)) - { - poiFragData.baseColor *= saturate(poiFragData.alpha); - } - poiFragData.finalColor = poiFragData.baseColor; - poiFragData.finalColor = poiFragData.baseColor * poiLight.finalLighting; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - poiFragData.finalColor += poiLight.finalLightAdd; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - if ((0.0 /*_Mode*/) == POI_MODE_CUTOUT && !(0.0 /*_AlphaToCoverage*/)) - { - poiFragData.alpha = 1; - } - if ((4.0 /*_AddBlendOp*/) == 4) - { - poiFragData.alpha = saturate(poiFragData.alpha * (10.0 /*_AlphaBoostFA*/)); - } - if ((0.0 /*_Mode*/) != POI_MODE_TRANSPARENT) - { - poiFragData.finalColor *= poiFragData.alpha; - } - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - Pass - { - Name "ShadowCaster" - Tags { "LightMode" = "ShadowCaster" } - Stencil - { - Ref [_StencilRef] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - Comp [_StencilCompareFunction] - Pass [_StencilPassOp] - Fail [_StencilFailOp] - ZFail [_StencilZFailOp] - } - ZWrite [_ZWrite] - Cull [_Cull] - AlphaToMask Off - ZTest [_ZTest] - ColorMask [_ColorMask] - Offset [_OffsetFactor], [_OffsetUnits] - BlendOp [_BlendOp], [_BlendOpAlpha] - Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] - CGPROGRAM - #define POI_MATCAP0 - #define VIGNETTE_MASKED - #define _LIGHTINGMODE_FLAT - #define _STOCHASTICMODE_DELIOT_HEITZ - #define PROP_MATCAP - #define OPTIMIZER_ENABLED - #pragma target 5.0 - #pragma skip_variants LIGHTMAP_ON DYNAMICLIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK DIRLIGHTMAP_COMBINED _MIXED_LIGHTING_SUBTRACTIVE - #pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS - #pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 - #pragma skip_variants _SCREEN_SPACE_OCCLUSION - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_instancing - #pragma multi_compile_shadowcaster - #pragma multi_compile_fog - #define POI_PASS_SHADOW - #include "UnityCG.cginc" - #include "UnityStandardUtils.cginc" - #include "AutoLight.cginc" - #include "UnityLightingCommon.cginc" - #include "UnityPBSLighting.cginc" - #ifdef POI_PASS_META - #include "UnityMetaPass.cginc" - #endif - #pragma vertex vert - #pragma fragment frag - #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) - #define PI float(3.14159265359) - #define Epsilon float(1e-10) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, samplertex, coord, dx, dy) tex.SampleGrad(sampler##samplertex, coord, dx, dy) - #define POI2D_SAMPLE_TEX2D_SAMPLERGRADD(tex, samp, uv, pan, dx, dy) tex.SampleGrad(samp, POI_PAN_UV(uv, pan), dx, dy) - #define POI_PAN_UV(uv, pan) (uv + _Time.x * pan) - #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, POI_PAN_UV(uv, pan))) - #define POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, POI_PAN_UV(uv, pan), dx, dy)) - #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, uv)) - #define POI_SAMPLE_1D_X(tex, samp, uv) tex.Sample(samp, float2(uv, 0.5)) - #define POI2D_SAMPLER_GRAD(tex, texSampler, uv, dx, dy) (POI2D_SAMPLE_TEX2D_SAMPLERGRAD(tex, texSampler, uv, dx, dy)) - #define POI2D_SAMPLER_GRADD(tex, texSampler, uv, dx, dy) tex.SampleGrad(texSampler, uv, dx, dy) - #define POI2D_PAN(tex, uv, pan) (tex2D(tex, POI_PAN_UV(uv, pan))) - #define POI2D(tex, uv) (tex2D(tex, uv)) - #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, uv)) - #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, POI_PAN_UV(uv, pan))) - #define POI_SAMPLE_CUBE_LOD(tex, samp, uv, lod) texCUBElod(tex, float4(uv, 0, lod)) - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, float3(uv, unity_StereoEyeIndex)) - #else - #define POI_SAMPLE_SCREEN(tex, samp, uv) tex.Sample(samp, uv) - #endif - #define POI_SAFE_RGB0 float4(mainTexture.rgb * .0001, 0) - #define POI_SAFE_RGB1 float4(mainTexture.rgb * .0001, 1) - #define POI_SAFE_RGBA mainTexture - #if defined(UNITY_COMPILER_HLSL) - #define PoiInitStruct(type, name) name = (type)0; - #else - #define PoiInitStruct(type, name) - #endif - #define POI_ERROR(poiMesh, gridSize) lerp(float3(1, 0, 1), float3(0, 0, 0), fmod(floor((poiMesh.worldPos.x) * gridSize) + floor((poiMesh.worldPos.y) * gridSize) + floor((poiMesh.worldPos.z) * gridSize), 2) == 0) - #define POI_NAN (asfloat(-1)) - #define POI_MODE_OPAQUE 0 - #define POI_MODE_CUTOUT 1 - #define POI_MODE_FADE 2 - #define POI_MODE_TRANSPARENT 3 - #define POI_MODE_ADDITIVE 4 - #define POI_MODE_SOFTADDITIVE 5 - #define POI_MODE_MULTIPLICATIVE 6 - #define POI_MODE_2XMULTIPLICATIVE 7 - #define POI_MODE_TRANSCLIPPING 9 - float _GrabMode; - float _Mode; - float _StochasticDeliotHeitzDensity; - float _StochasticHexGridDensity; - float _StochasticHexRotationStrength; - float _StochasticHexFallOffContrast; - float _StochasticHexFallOffPower; - float _IgnoreFog; - float _RenderingReduceClipDistance; - int _FlipBackfaceNormals; - float _AddBlendOp; - float _Cull; - float4 _Color; - float _ColorThemeIndex; - UNITY_DECLARE_TEX2D(_MainTex); - UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); - float _MainPixelMode; - float4 _MainTex_ST; - float2 _MainTexPan; - float _MainTexUV; - float4 _MainTex_TexelSize; - float _MainTexStochastic; - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - Texture2D _BumpMap; - #endif - float4 _BumpMap_ST; - float2 _BumpMapPan; - float _BumpMapUV; - float _BumpScale; - float _BumpMapStochastic; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - Texture2D _AlphaMask; - float4 _AlphaMask_ST; - float2 _AlphaMaskPan; - float _AlphaMaskUV; - float _AlphaMaskInvert; - float _MainAlphaMaskMode; - float _AlphaMaskBlendStrength; - float _AlphaMaskValue; - #endif - float _Cutoff; - SamplerState sampler_linear_clamp; - SamplerState sampler_linear_repeat; - SamplerState sampler_trilinear_repeat; - float _AlphaForceOpaque; - float _AlphaMod; - float _AlphaPremultiply; - float _AlphaBoostFA; - float _AlphaGlobalMask; - float _AlphaGlobalMaskBlendType; - int _GlobalMaskVertexColorLinearSpace; - float _StereoEnabled; - float _PolarUV; - float2 _PolarCenter; - float _PolarRadialScale; - float _PolarLengthScale; - float _PolarSpiralPower; - float _PanoUseBothEyes; - float _UVModWorldPos0; - float _UVModWorldPos1; - float _UVModLocalPos0; - float _UVModLocalPos1; - 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 - }; - struct VertexOut - { - float4 pos : SV_POSITION; - float4 uv[2] : TEXCOORD0; - float3 normal : TEXCOORD2; - float4 tangent : TEXCOORD3; - float4 worldPos : TEXCOORD4; - float4 localPos : TEXCOORD5; - float4 vertexColor : TEXCOORD6; - float4 lightmapUV : TEXCOORD7; - float2 fogCoord: TEXCOORD10; - UNITY_SHADOW_COORDS(11) - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - struct PoiMesh - { - float3 normals[2]; - float3 objNormal; - float3 tangentSpaceNormal; - float3 binormal[2]; - float3 tangent[2]; - float3 worldPos; - float3 localPos; - float3 objectPosition; - float isFrontFace; - float4 vertexColor; - float4 lightmapUV; - float2 uv[9]; - float2 parallaxUV; - float2 dx; - float2 dy; - uint isRightHand; - }; - struct PoiCam - { - float3 viewDir; - float3 forwardDir; - float3 worldPos; - float distanceToVert; - float4 clipPos; - float4 screenSpacePosition; - float3 reflectionDir; - float3 vertexReflectionDir; - float3 tangentViewDir; - float4 posScreenSpace; - float2 posScreenPixels; - float2 screenUV; - float vDotN; - float4 worldDirection; - }; - struct PoiMods - { - float4 Mask; - float audioLink[5]; - float audioLinkAvailable; - float audioLinkVersion; - float4 audioLinkTexture; - float2 detailMask; - float2 backFaceDetailIntensity; - float globalEmission; - float4 globalColorTheme[12]; - float globalMask[16]; - float ALTime[8]; - }; - struct PoiLight - { - float3 direction; - float attenuation; - float attenuationStrength; - float3 directColor; - float3 indirectColor; - float occlusion; - float shadowMask; - float detailShadow; - float3 halfDir; - float lightMap; - float lightMapNoAttenuation; - float3 rampedLightMap; - float vertexNDotL; - float nDotL; - float nDotV; - float vertexNDotV; - float nDotH; - float vertexNDotH; - float lDotv; - float lDotH; - float nDotLSaturated; - float nDotLNormalized; - #ifdef POI_PASS_ADD - float additiveShadow; - #endif - float3 finalLighting; - float3 finalLightAdd; - float3 LTCGISpecular; - float3 LTCGIDiffuse; - float directLuminance; - float indirectLuminance; - float finalLuminance; - #if defined(VERTEXLIGHT_ON) - float4 vDotNL; - float4 vertexVDotNL; - float3 vColor[4]; - float4 vCorrectedDotNL; - float4 vAttenuation; - float4 vSaturatedDotNL; - float3 vPosition[4]; - float3 vDirection[4]; - float3 vFinalLighting; - float3 vHalfDir[4]; - half4 vDotNH; - half4 vertexVDotNH; - half4 vDotLH; - #endif - }; - struct PoiVertexLights - { - float3 direction; - float3 color; - float attenuation; - }; - struct PoiFragData - { - float smoothness; - float smoothness2; - float metallic; - float specularMask; - float reflectionMask; - float3 baseColor; - float3 finalColor; - float alpha; - float3 emission; - float toggleVertexLights; - }; - float4 poiTransformClipSpacetoScreenSpaceFrag(float4 clipPos) - { - float4 positionSS = float4(clipPos.xyz * clipPos.w, clipPos.w); - positionSS.xy = positionSS.xy / _ScreenParams.xy; - return positionSS; - } - #ifndef glsl_mod - #define glsl_mod(x, y) (((x) - (y) * floor((x) / (y)))) - #endif - uniform float random_uniform_float_only_used_to_stop_compiler_warnings = 0.0f; - float2 poiUV(float2 uv, float4 tex_st) - { - return uv * tex_st.xy + tex_st.zw; - } - float2 vertexUV(in VertexOut o, int index) - { - switch(index) - { - case 0: - return o.uv[0].xy; - case 1: - return o.uv[0].zw; - case 2: - return o.uv[1].xy; - case 3: - return o.uv[1].zw; - default: - return o.uv[0].xy; - } - } - float2 vertexUV(in appdata v, int index) - { - switch(index) - { - case 0: - return v.uv0.xy; - case 1: - return v.uv1.xy; - case 2: - return v.uv2.xy; - case 3: - return v.uv3.xy; - default: - return v.uv0.xy; - } - } - float calculateluminance(float3 color) - { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - float _VRChatCameraMode; - float _VRChatMirrorMode; - float VRCCameraMode() - { - return _VRChatCameraMode; - } - float VRCMirrorMode() - { - return _VRChatMirrorMode; - } - bool IsInMirror() - { - return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; - } - bool IsOrthographicCamera() - { - return unity_OrthoParams.w == 1 || UNITY_MATRIX_P[3][3] == 1; - } - 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 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); - } - 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; - } - 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; - } - 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); - } - float3 calculateNormal(in float3 baseNormal, in PoiMesh poiMesh, in Texture2D normalTexture, in float4 normal_ST, in float2 normalPan, in float normalUV, in float normalIntensity) - { - float3 normal = UnpackScaleNormal(POI2D_SAMPLER_PAN(normalTexture, _MainTex, poiUV(poiMesh.uv[normalUV], normal_ST), normalPan), normalIntensity); - return normalize( - normal.x * poiMesh.tangent[0] + - normal.y * poiMesh.binormal[0] + - normal.z * baseNormal - ); - } - float remap(float x, float minOld, float maxOld, float minNew = 0, float maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew = 0, float2 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew = 0, float3 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew = 0, float4 maxNew = 1) - { - return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); - } - float remapClamped(float minOld, float maxOld, float x, float minNew = 0, float maxNew = 1) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 remapClamped(float2 minOld, float2 maxOld, float2 x, float2 minNew, float2 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float3 remapClamped(float3 minOld, float3 maxOld, float3 x, float3 minNew, float3 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float4 remapClamped(float4 minOld, float4 maxOld, float4 x, float4 minNew, float4 maxNew) - { - return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); - } - float2 calcParallax(in float height, in PoiCam poiCam) - { - return ((height * - 1) + 1) * (poiCam.tangentViewDir.xy / poiCam.tangentViewDir.z); - } - 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); - } - float blendAverage(float base, float blend) - { - return (base + blend) / 2.0; - } - 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) * rcp(random_uniform_float_only_used_to_stop_compiler_warnings + 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)); - } - float blendExclusion(float base, float blend) - { - return base + blend - 2.0 * base * blend; - } - 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)); - } - float blendGlow(float base, float blend) - { - return blendReflect(blend, base); - } - 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)); - } - float blendHardLight(float base, float blend) - { - return blendOverlay(blend, base); - } - 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 base + blend; - } - 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)); - } - float blendMultiply(float base, float blend) - { - return base * blend; - } - float3 blendMultiply(float3 base, float3 blend) - { - return base * blend; - } - float blendNegation(float base, float blend) - { - return 1.0 - abs(1.0 - 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); - } - float blendNormal(float base, float blend) - { - return blend; - } - float3 blendNormal(float3 base, float3 blend) - { - return blend; - } - float blendPhoenix(float base, float blend) - { - return min(base, blend) - max(base, blend) + 1.0; - } - 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); - } - float blendMixed(float base, float blend) - { - return base + base * blend; - } - float3 blendMixed(float3 base, float3 blend) - { - return base + base * blend; - } - float3 customBlend(float3 base, float3 blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 1: output = lerp(base, blendDarken(base, blend), alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - float3 customBlend(float base, float blend, float blendType, float alpha = 1) - { - float3 output = base; - switch(blendType) - { - case 0: output = lerp(base, blend, alpha); break; - case 2: output = base * lerp(1, blend, alpha); break; - case 5: output = lerp(base, blendLighten(base, blend), alpha); break; - case 6: output = lerp(base, blendScreen(base, blend), alpha); break; - case 7: output = blendSubtract(base, blend * alpha); break; - case 8: output = lerp(base, blendLinearDodge(base, blend), alpha); break; - case 9: output = lerp(base, blendOverlay(base, blend), alpha); break; - case 20: output = lerp(base, blendMixed(base, blend), alpha); break; - default: output = 0; break; - } - return output; - } - #define REPLACE 0 - #define SUBSTRACT 1 - #define MULTIPLY 2 - #define DIVIDE 3 - #define MIN 4 - #define MAX 5 - #define AVERAGE 6 - #define ADD 7 - float maskBlend(float baseMask, float blendMask, float blendType) - { - float output = 0; - switch(blendType) - { - case REPLACE: output = blendMask; break; - case SUBSTRACT: output = baseMask - blendMask; break; - case MULTIPLY: output = baseMask * blendMask; break; - case DIVIDE: output = baseMask / blendMask; break; - case MIN: output = min(baseMask, blendMask); break; - case MAX: output = max(baseMask, blendMask); break; - case AVERAGE: output = (baseMask + blendMask) * 0.5; break; - case ADD: output = baseMask + blendMask; break; - } - return saturate(output); - } - float globalMaskBlend(float baseMask, float globalMaskIndex, float blendType, PoiMods poiMods) - { - if (globalMaskIndex == 0) - { - return baseMask; - } - else - { - return maskBlend(baseMask, poiMods.globalMask[globalMaskIndex - 1], blendType); - } - } - 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(float2 p) - { - return frac(sin(float3(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)), dot(p, float2(248.3, 315.9)))) * 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 randomFloat3(float2 Seed, float maximum) - { - return (.5 + float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) - ) * .5) * (maximum); - } - float3 randomFloat3Range(float2 Seed, float Range) - { - return (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1) * Range; - } - float3 randomFloat3WiggleRange(float2 Seed, float Range, float wiggleSpeed, float timeOffset) - { - float3 rando = (float3( - frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), - frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) - ) * 2 - 1); - float speed = 1 + wiggleSpeed; - return float3(sin(((_Time.x + timeOffset) + rando.x * PI) * speed), sin(((_Time.x + timeOffset) + rando.y * PI) * speed), sin(((_Time.x + timeOffset) + rando.z * PI) * speed)) * Range; - } - 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]; - } - 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 RGBtoHSV(float3 c){ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - } - float3 HSVtoRGB(float3 c){ - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); - } - 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); - } - void DecomposeHDRColor(in float3 linearColorHDR, out float3 baseLinearColor, out float exposure) - { - float maxColorComponent = max(linearColorHDR.r, max(linearColorHDR.g, linearColorHDR.b)); - bool isSDR = maxColorComponent <= 1.0; - float scaleFactor = isSDR ? 1.0 : (1.0 / maxColorComponent); - exposure = isSDR ? 0.0 : log(maxColorComponent) * 1.44269504089; // ln(2) - baseLinearColor = scaleFactor * linearColorHDR; - } - float3 ApplyHDRExposure(float3 linearColor, float exposure) - { - return linearColor * pow(2, exposure); - } - float3 ModifyViaHSV(float3 color, float h, float s, float v) - { - float3 colorHSV = RGBtoHSV(color); - colorHSV.x = frac(colorHSV.x + h); - colorHSV.y = saturate(colorHSV.y + s); - colorHSV.z = saturate(colorHSV.z + v); - return HSVtoRGB(colorHSV); - } - float3 ModifyViaHSV(float3 color, float3 HSVMod) - { - return ModifyViaHSV(color, HSVMod.x, HSVMod.y, HSVMod.z); - } - float4x4 brightnessMatrix(float brightness) - { - return float4x4( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - brightness, brightness, brightness, 1 - ); - } - float4x4 contrastMatrix(float contrast) - { - float t = (1.0 - contrast) / 2.0; - return float4x4( - contrast, 0, 0, 0, - 0, contrast, 0, 0, - 0, 0, contrast, 0, - t, t, t, 1 - ); - } - float4x4 saturationMatrix(float saturation) - { - float3 luminance = float3(0.3086, 0.6094, 0.0820); - float oneMinusSat = 1.0 - saturation; - float3 red = luminance.x * oneMinusSat; - red += float3(saturation, 0, 0); - float3 green = luminance.y * oneMinusSat; - green += float3(0, saturation, 0); - float3 blue = luminance.z * oneMinusSat; - blue += float3(0, 0, saturation); - return float4x4( - red, 0, - green, 0, - blue, 0, - 0, 0, 0, 1 - ); - } - float4 PoiColorBCS(float4 color, float brightness, float contrast, float saturation) - { - return mul(color, mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))); - } - float3 PoiColorBCS(float3 color, float brightness, float contrast, float saturation) - { - return mul(float4(color, 1), mul(brightnessMatrix(brightness), mul(contrastMatrix(contrast), saturationMatrix(saturation)))).rgb; - } - float3 linear_srgb_to_oklab(float3 c) - { - float l = 0.4122214708 * c.x + 0.5363325363 * c.y + 0.0514459929 * c.z; - float m = 0.2119034982 * c.x + 0.6806995451 * c.y + 0.1073969566 * c.z; - float s = 0.0883024619 * c.x + 0.2817188376 * c.y + 0.6299787005 * c.z; - float l_ = pow(l, 1.0 / 3.0); - float m_ = pow(m, 1.0 / 3.0); - float s_ = pow(s, 1.0 / 3.0); - return float3( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_ - ); - } - float3 oklab_to_linear_srgb(float3 c) - { - float l_ = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z; - float m_ = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z; - float s_ = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z; - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - return float3( - + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - - 1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - - 0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - } - float3 hueShift(float3 color, float shift) - { - float3 oklab = linear_srgb_to_oklab(color); - float chroma = length(oklab.yz); - if (chroma < 1e-5) { - return color; - } - float hue = atan2(oklab.z, oklab.y); - hue += shift * PI * 2; // Add the hue shift - oklab.y = cos(hue) * chroma; - oklab.z = sin(hue) * chroma; - return oklab_to_linear_srgb(oklab); - } - float3 hueShiftHSV(float3 color, float hueOffset) - { - float3 hsv = float3(hueOffset, 0, 0); - float3 hsvCol = RGBtoHSV(color); - return HSVtoRGB(hsvCol + hsv); - } - float3 hueShift(float3 color, float shift, float ColorSpace) - { - switch(ColorSpace) - { - case 0.0: - return hueShift(color, shift); - case 1.0: - return hueShiftHSV(color, shift); - default: - return float3(1.0, 0.0, 0.0); - } - } - float3 hueShift(float4 color, float shift, float ColorSpace) - { - return hueShift(color.rgb, shift, ColorSpace); - } - 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)); - } - 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); - } - float3 getCameraPosition() - { - #ifdef USING_STEREO_MATRICES - return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); - #endif - return _WorldSpaceCameraPos; - } - float2 calcPixelScreenUVs(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 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); - } - 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); - } - 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) - { - float sn = sin(angle * 0.5); - float cs = cos(angle * 0.5); - return float4(axis * sn, cs); - } - 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), radians(rotation.x)); - float4 qy = get_quaternion_from_angle(float3(0, 1, 0), radians(rotation.y)); - float4 qz = get_quaternion_from_angle(float3(0, 0, 1), radians(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; - } - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time * RotateUV_ang); - float RotateUV_sin = sin(_time * RotateUV_ang); - return (mul(_uv - _piv, float2x2(RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - float3 RotateAroundAxis(float3 original, float3 axis, float radian) - { - float s = sin(radian); - float c = cos(radian); - float one_minus_c = 1.0 - c; - axis = normalize(axis); - float3x3 rot_mat = { - one_minus_c * axis.x * axis.x + c, one_minus_c * axis.x * axis.y - axis.z * s, one_minus_c * axis.z * axis.x + axis.y * s, - one_minus_c * axis.x * axis.y + axis.z * s, one_minus_c * axis.y * axis.y + c, one_minus_c * axis.y * axis.z - axis.x * s, - one_minus_c * axis.z * axis.x - axis.y * s, one_minus_c * axis.y * axis.z + axis.x * s, one_minus_c * axis.z * axis.z + c - }; - return mul(rot_mat, original); - } - float3 poiThemeColor(in PoiMods poiMods, in float3 srcColor, in float themeIndex) - { - float3 outputColor = srcColor; - if (themeIndex != 0) - { - themeIndex = max(themeIndex - 1, 0); - if (themeIndex <= 3) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - else - { - #ifdef POI_AUDIOLINK - if (poiMods.audioLinkAvailable) - { - outputColor = poiMods.globalColorTheme[themeIndex]; - } - #endif - } - } - return outputColor; - } - float3 lilToneCorrection(float3 c, float4 hsvg) - { - c = pow(abs(c), hsvg.w); - float4 p = (c.b > c.g) ? float4(c.bg, -1.0, 2.0 / 3.0) : float4(c.gb, 0.0, -1.0 / 3.0); - float4 q = (p.x > c.r) ? float4(p.xyw, c.r) : float4(c.r, p.yzx); - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - float3 hsv = float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); - hsv = float3(hsv.x + hsvg.x, saturate(hsv.y * hsvg.y), saturate(hsv.z * hsvg.z)); - return hsv.z - hsv.z * hsv.y + hsv.z * hsv.y * saturate(abs(frac(hsv.x + float3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0) - 1.0); - } - float3 lilBlendColor(float3 dstCol, float3 srcCol, float3 srcA, int blendMode) - { - float3 ad = dstCol + srcCol; - float3 mu = dstCol * srcCol; - float3 outCol = float3(0, 0, 0); - if (blendMode == 0) outCol = srcCol; // Normal - if (blendMode == 1) outCol = ad; // Add - if (blendMode == 2) outCol = max(ad - mu, dstCol); // Screen - if (blendMode == 3) outCol = mu; // Multiply - return lerp(dstCol, outCol, srcA); - } - float lilIsIn0to1(float f) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, 1.0)); - } - float lilIsIn0to1(float f, float nv) - { - float value = 0.5 - abs(f - 0.5); - return saturate(value / clamp(fwidth(value), 0.0001, nv)); - } - float poiEdgeLinearNoSaturate(float value, float border) - { - return (value - border) / clamp(fwidth(value), 0.0001, 1.0); - } - float3 poiEdgeLinearNoSaturate(float value, float3 border) - { - return float3( - (value - border.x) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.y) / clamp(fwidth(value), 0.0001, 1.0), - (value - border.z) / clamp(fwidth(value), 0.0001, 1.0) - ); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur) - { - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return (value - borderMin) / saturate(borderMax - borderMin + fwidth(value)); - } - float poiEdgeNonLinearNoSaturate(float value, float border) - { - float fwidthValue = fwidth(value); - return smoothstep(border - fwidthValue, border + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinearNoSaturate(float value, float border, float blur, float borderRange) - { - float fwidthValue = fwidth(value); - float borderMin = saturate(border - blur * 0.5 - borderRange); - float borderMax = saturate(border + blur * 0.5); - return smoothstep(borderMin - fwidthValue, borderMax + fwidthValue, value); - } - float poiEdgeNonLinear(float value, float border) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border)); - } - float poiEdgeNonLinear(float value, float border, float blur) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur)); - } - float poiEdgeNonLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeNonLinearNoSaturate(value, border, blur, borderRange)); - } - float poiEdgeLinear(float value, float border) - { - return saturate(poiEdgeLinearNoSaturate(value, border)); - } - float poiEdgeLinear(float value, float border, float blur) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur)); - } - float poiEdgeLinear(float value, float border, float blur, float borderRange) - { - return saturate(poiEdgeLinearNoSaturate(value, border, blur, borderRange)); - } - float3 OpenLitLinearToSRGB(float3 col) - { - return LinearToGammaSpace(col); - } - float3 OpenLitSRGBToLinear(float3 col) - { - return GammaToLinearSpace(col); - } - float OpenLitLuminance(float3 rgb) - { - #if defined(UNITY_COLORSPACE_GAMMA) - return dot(rgb, float3(0.22, 0.707, 0.071)); - #else - return dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - } - float3 AdjustLitLuminance(float3 rgb, float targetLuminance) - { - float currentLuminance; - #if defined(UNITY_COLORSPACE_GAMMA) - currentLuminance = dot(rgb, float3(0.22, 0.707, 0.071)); - #else - currentLuminance = dot(rgb, float3(0.0396819152, 0.458021790, 0.00609653955)); - #endif - float luminanceRatio = targetLuminance / currentLuminance; - return rgb * luminanceRatio; - } - float3 ClampLuminance(float3 rgb, float minLuminance, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float minRatio = (currentLuminance != 0) ? minLuminance / currentLuminance : 1.0; - float maxRatio = (currentLuminance != 0) ? maxLuminance / currentLuminance : 1.0; - float luminanceRatio = clamp(min(maxRatio, max(minRatio, 1.0)), 0.0, 1.0); - return lerp(rgb, rgb * luminanceRatio, luminanceRatio < 1.0); - } - float3 MaxLuminance(float3 rgb, float maxLuminance) - { - float currentLuminance = dot(rgb, float3(0.299, 0.587, 0.114)); - float luminanceRatio = (currentLuminance != 0) ? maxLuminance / max(currentLuminance, 0.00001) : 1.0; - return lerp(rgb, rgb * luminanceRatio, currentLuminance > maxLuminance); - } - float OpenLitGray(float3 rgb) - { - return dot(rgb, float3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0)); - } - void OpenLitShadeSH9ToonDouble(float3 lightDirection, out float3 shMax, out float3 shMin) - { - #if !defined(LIGHTMAP_ON) - float3 N = lightDirection * 0.666666; - float4 vB = N.xyzz * N.yzzx; - float3 res = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w); - res.r += dot(unity_SHBr, vB); - res.g += dot(unity_SHBg, vB); - res.b += dot(unity_SHBb, vB); - res += unity_SHC.rgb * (N.x * N.x - N.y * N.y); - float3 l1; - l1.r = dot(unity_SHAr.rgb, N); - l1.g = dot(unity_SHAg.rgb, N); - l1.b = dot(unity_SHAb.rgb, N); - shMax = res + l1; - shMin = res - l1; - #if defined(UNITY_COLORSPACE_GAMMA) - shMax = OpenLitLinearToSRGB(shMax); - shMin = OpenLitLinearToSRGB(shMin); - #endif - #else - shMax = 0.0; - shMin = 0.0; - #endif - } - float3 OpenLitComputeCustomLightDirection(float4 lightDirectionOverride) - { - float3 customDir = length(lightDirectionOverride.xyz) * normalize(mul((float3x3)unity_ObjectToWorld, lightDirectionOverride.xyz)); - return lightDirectionOverride.w ? customDir : lightDirectionOverride.xyz; // .w isn't doc'd anywhere and is always 0 unless end user changes it - } - float3 OpenLitLightingDirectionForSH9() - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 lightDirectionForSH9 = sh9Dir + mainDir; - lightDirectionForSH9 = dot(lightDirectionForSH9, lightDirectionForSH9) < 0.000001 ? 0 : normalize(lightDirectionForSH9); - return lightDirectionForSH9; - } - float3 OpenLitLightingDirection(float4 lightDirectionOverride) - { - float3 mainDir = _WorldSpaceLightPos0.xyz * OpenLitLuminance(_LightColor0.rgb); - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - float3 sh9Dir = unity_SHAr.xyz * 0.333333 + unity_SHAg.xyz * 0.333333 + unity_SHAb.xyz * 0.333333; - float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z); - #else - float3 sh9Dir = 0; - float3 sh9DirAbs = 0; - #endif - float3 customDir = OpenLitComputeCustomLightDirection(lightDirectionOverride); - return normalize(sh9DirAbs + mainDir + customDir); - } - float3 OpenLitLightingDirection() - { - float4 customDir = float4(0.001, 0.002, 0.001, 0.0); - return OpenLitLightingDirection(customDir); - } - inline float4 CalculateFrustumCorrection() - { - float x1 = -UNITY_MATRIX_P._31 / (UNITY_MATRIX_P._11 * UNITY_MATRIX_P._34); - float x2 = -UNITY_MATRIX_P._32 / (UNITY_MATRIX_P._22 * UNITY_MATRIX_P._34); - return float4(x1, x2, 0, UNITY_MATRIX_P._33 / UNITY_MATRIX_P._34 + x1 * UNITY_MATRIX_P._13 + x2 * UNITY_MATRIX_P._23); - } - inline float CorrectedLinearEyeDepth(float z, float B) - { - return 1.0 / (z / UNITY_MATRIX_P._34 + B); - } - float2 sharpSample(float4 texelSize, float2 p) - { - p = p * texelSize.zw; - float2 c = max(0.0, fwidth(p)); - p = floor(p) + saturate(frac(p) / c); - p = (p - 0.5) * texelSize.xy; - return p; - } - void applyToGlobalMask(inout PoiMods poiMods, int index, int blendType, float val) - { - float valBlended = saturate(maskBlend(poiMods.globalMask[index], val, blendType)); - switch(index) - { - case 0: poiMods.globalMask[0] = valBlended; break; - case 1: poiMods.globalMask[1] = valBlended; break; - case 2: poiMods.globalMask[2] = valBlended; break; - case 3: poiMods.globalMask[3] = valBlended; break; - case 4: poiMods.globalMask[4] = valBlended; break; - case 5: poiMods.globalMask[5] = valBlended; break; - case 6: poiMods.globalMask[6] = valBlended; break; - case 7: poiMods.globalMask[7] = valBlended; break; - case 8: poiMods.globalMask[8] = valBlended; break; - case 9: poiMods.globalMask[9] = valBlended; break; - case 10: poiMods.globalMask[10] = valBlended; break; - case 11: poiMods.globalMask[11] = valBlended; break; - case 12: poiMods.globalMask[12] = valBlended; break; - case 13: poiMods.globalMask[13] = valBlended; break; - case 14: poiMods.globalMask[14] = valBlended; break; - case 15: poiMods.globalMask[15] = valBlended; break; - } - } - void assignValueToVectorFromIndex(inout float4 vec, int index, float value) - { - switch(index) - { - case 0: vec[0] = value; break; - case 1: vec[1] = value; break; - case 2: vec[2] = value; break; - case 3: vec[3] = value; break; - } - } - float3 mod289(float3 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float2 mod289(float2 x) - { - return x - floor(x * (1.0 / 289.0)) * 289.0; - } - float3 permute(float3 x) - { - return mod289(((x * 34.0) + 1.0) * x); - } - float snoise(float2 v) - { - const float4 C = float4(0.211324865405187, // (3.0 - sqrt(3.0)) / 6.0 - 0.366025403784439, // 0.5 * (sqrt(3.0) - 1.0) - - 0.577350269189626, // - 1.0 + 2.0 * C.x - 0.024390243902439); // 1.0 / 41.0 - float2 i = floor(v + dot(v, C.yy)); - float2 x0 = v - i + dot(i, C.xx); - float2 i1; - i1 = (x0.x > x0.y) ? float2(1.0, 0.0) : float2(0.0, 1.0); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod289(i); // Avoid truncation effects in permutation - float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) - + i.x + float3(0.0, i1.x, 1.0)); - float3 m = max(0.5 - float3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0); - m = m * m ; - m = m * m ; - float3 x = 2.0 * frac(p * C.www) - 1.0; - float3 h = abs(x) - 0.5; - float3 ox = floor(x + 0.5); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot(m, g); - } - float nsqDistance(float2 a, float2 b) - { - return dot(a - b, a - b); - } - float poiInvertToggle(in float value, in float toggle) - { - return (toggle == 0 ? value : 1 - value); - } - float3 PoiBlendNormal(float3 dstNormal, float3 srcNormal) - { - return float3(dstNormal.xy + srcNormal.xy, dstNormal.z * srcNormal.z); - } - float3 lilTransformDirOStoWS(float3 directionOS, bool doNormalize) - { - if (doNormalize) return normalize(mul((float3x3)unity_ObjectToWorld, directionOS)); - else return mul((float3x3)unity_ObjectToWorld, directionOS); - } - float2 poiGetWidthAndHeight(Texture2D tex) - { - uint width, height; - tex.GetDimensions(width, height); - return float2(width, height); - } - float2 poiGetWidthAndHeight(Texture2DArray tex) - { - uint width, height, element; - tex.GetDimensions(width, height, element); - return float2(width, height); - } - VertexOut vert( - #ifndef POI_TESSELLATED - appdata v - #else - tessAppData v - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(v); - VertexOut o; - PoiInitStruct(VertexOut, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - #ifdef POI_TESSELLATED - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(v); - #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - o.normal = UnityObjectToWorldNormal(v.normal); - o.tangent.xyz = UnityObjectToWorldDir(v.tangent); - o.tangent.w = v.tangent.w; - o.vertexColor = v.color; - o.uv[0] = float4(v.uv0.xy, v.uv1.xy); - o.uv[1] = float4(v.uv2.xy, v.uv3.xy); - #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 - o.localPos = v.vertex; - o.worldPos = mul(unity_ObjectToWorld, o.localPos); - float3 localOffset = float3(0, 0, 0); - float3 worldOffset = float3(0, 0, 0); - o.localPos.rgb += localOffset; - o.worldPos.rgb += worldOffset; - o.pos = UnityObjectToClipPos(o.localPos); - #ifdef POI_PASS_OUTLINE - #if defined(UNITY_REVERSED_Z) - o.pos.z += (0.0 /*_Offset_Z*/) * - 0.01; - #else - o.pos.z += (0.0 /*_Offset_Z*/) * 0.01; - #endif - #endif - #ifndef FORWARD_META_PASS - #if !defined(UNITY_PASS_SHADOWCASTER) - UNITY_TRANSFER_SHADOW(o, o.uv[0].xy); - #else - v.vertex.xyz = o.localPos.xyz; - TRANSFER_SHADOW_CASTER_NOPOS(o, o.pos); - #endif - #endif - UNITY_TRANSFER_FOG(o, o.pos); - if ((0.0 /*_RenderingReduceClipDistance*/)) - { - if (o.pos.w < _ProjectionParams.y * 1.01 && o.pos.w > 0) - { - #if defined(UNITY_REVERSED_Z) // DirectX - o.pos.z = o.pos.z * 0.0001 + o.pos.w * 0.999; - #else // OpenGL - o.pos.z = o.pos.z * 0.0001 - o.pos.w * 0.999; - #endif - } - } - #ifdef POI_PASS_META - o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); - #endif - return o; - } - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, uv) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan)) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? DeliotHeitzSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if defined(_STOCHASTICMODE_HEXTILE) - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, uv, false) : POI2D_SAMPLER(tex, texSampler, uv)) - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false) : POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (useStochastic ? HextileSampleTexture(tex, sampler##texSampler, POI_PAN_UV(uv, pan), false, dx, dy) : POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #ifndef POI2D_SAMPLER_STOCHASTIC - #define POI2D_SAMPLER_STOCHASTIC(tex, texSampler, uv, useStochastic) (POI2D_SAMPLER(tex, texSampler, uv)) - #endif - #ifndef POI2D_SAMPLER_PAN_STOCHASTIC - #define POI2D_SAMPLER_PAN_STOCHASTIC(tex, texSampler, uv, pan, useStochastic) (POI2D_SAMPLER_PAN(tex, texSampler, uv, pan)) - #endif - #ifndef POI2D_SAMPLER_PANGRAD_STOCHASTIC - #define POI2D_SAMPLER_PANGRAD_STOCHASTIC(tex, texSampler, uv, pan, dx, dy, useStochastic) (POI2D_SAMPLER_PANGRAD(tex, texSampler, uv, pan, dx, dy)) - #endif - #if !defined(_STOCHASTICMODE_NONE) - float2 StochasticHash2D2D (float2 s) - { - return frac(sin(glsl_mod(float2(dot(s, float2(127.1,311.7)), dot(s, float2(269.5,183.3))), 3.14159)) * 43758.5453); - } - #endif - #if defined(_STOCHASTICMODE_DELIOT_HEITZ) - float3x3 DeliotHeitzStochasticUVBW(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewUV = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticDeliotHeitzDensity*/)); - float2 vxID = floor(skewUV); - float3 bary = float3(frac(skewUV), 0); - bary.z = 1.0 - bary.x - bary.y; - float3x3 pos = float3x3( - float3(vxID, bary.z), - float3(vxID + float2(0, 1), bary.y), - float3(vxID + float2(1, 0), bary.x) - ); - float3x3 neg = float3x3( - float3(vxID + float2(1, 1), -bary.z), - float3(vxID + float2(1, 0), 1.0 - bary.y), - float3(vxID + float2(0, 1), 1.0 - bary.x) - ); - return (bary.z > 0) ? pos : neg; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, float2 dx, float2 dy) - { - float3x3 UVBW = DeliotHeitzStochasticUVBW(uv); - return mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[0].xy), dx, dy), UVBW[0].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[1].xy), dx, dy), UVBW[1].z) + - mul(tex.SampleGrad(texSampler, uv + StochasticHash2D2D(UVBW[2].xy), dx, dy), UVBW[2].z) ; - } - float4 DeliotHeitzSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv) - { - float2 dx = ddx(uv), dy = ddy(uv); - return DeliotHeitzSampleTexture(tex, texSampler, uv, dx, dy); - } - #endif // defined(_STOCHASTICMODE_DELIOT_HEITZ) - #if defined(_STOCHASTICMODE_HEXTILE) - float2 HextileMakeCenUV(float2 vertex) - { - const float2x2 stochasticInverseSkewedGrid = float2x2(1.0, 0.5, 0.0, 1.0/1.15470054); - return mul(stochasticInverseSkewedGrid, vertex) * 0.288675; - } - float2x2 HextileLoadRot2x2(float2 idx, float rotStrength) - { - float angle = abs(idx.x * idx.y) + abs(idx.x + idx.y) + PI; - angle = glsl_mod(angle, 2 * PI); - if(angle < 0) angle += 2 * PI; - if(angle > PI) angle -= 2 * PI; - angle *= rotStrength; - float cs = cos(angle), si = sin(angle); - return float2x2(cs, -si, si, cs); - } - float4x4 HextileUVBWR(float2 uv) - { - const float2x2 stochasticSkewedGrid = float2x2(1.0, -0.57735027, 0.0, 1.15470054); - float2 skewedCoord = mul(stochasticSkewedGrid, uv * 3.4641 * (1.0 /*_StochasticHexGridDensity*/)); - float2 baseId = float2(floor(skewedCoord)); - float3 temp = float3(frac(skewedCoord), 0); - temp.z = 1 - temp.x - temp.y; - float s = step(0.0, -temp.z); - float s2 = 2 * s - 1; - float3 weights = float3(-temp.z * s2, s - temp.y * s2, s - temp.x * s2); - float2 vertex0 = baseId + float2(s, s); - float2 vertex1 = baseId + float2(s, 1 - s); - float2 vertex2 = baseId + float2(1 - s, s); - float2 cen0 = HextileMakeCenUV(vertex0), cen1 = HextileMakeCenUV(vertex1), cen2 = HextileMakeCenUV(vertex2); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = HextileLoadRot2x2(vertex0, (0.0 /*_StochasticHexRotationStrength*/)); - rot1 = HextileLoadRot2x2(vertex1, (0.0 /*_StochasticHexRotationStrength*/)); - rot2 = HextileLoadRot2x2(vertex2, (0.0 /*_StochasticHexRotationStrength*/)); - } - return float4x4( - float4(mul(uv - cen0, rot0) + cen0 + StochasticHash2D2D(vertex0), rot0[0].x, -rot0[0].y), - float4(mul(uv - cen1, rot1) + cen1 + StochasticHash2D2D(vertex1), rot1[0].x, -rot1[0].y), - float4(mul(uv - cen2, rot2) + cen2 + StochasticHash2D2D(vertex2), rot2[0].x, -rot2[0].y), - float4(weights, 0) - ); - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap, float2 dUVdx, float2 dUVdy) - { - float4x4 UVBWR = HextileUVBWR(uv); - float2x2 rot0 = float2x2(1, 0, 0, 1), rot1 = float2x2(1, 0, 0, 1), rot2 = float2x2(1, 0, 0, 1); - if((0.0 /*_StochasticHexRotationStrength*/) > 0) - { - rot0 = float2x2(UVBWR[0].z, -UVBWR[0].w, UVBWR[0].w, UVBWR[0].z); - rot1 = float2x2(UVBWR[1].z, -UVBWR[1].w, UVBWR[1].w, UVBWR[1].z); - rot2 = float2x2(UVBWR[2].z, -UVBWR[2].w, UVBWR[2].w, UVBWR[2].z); - } - float3 W = UVBWR[3].xyz; - float4 c0 = tex.SampleGrad(texSampler, UVBWR[0].xy, mul(dUVdx, rot0), mul(dUVdy, rot0)); - float4 c1 = tex.SampleGrad(texSampler, UVBWR[1].xy, mul(dUVdx, rot1), mul(dUVdy, rot1)); - float4 c2 = tex.SampleGrad(texSampler, UVBWR[2].xy, mul(dUVdx, rot2), mul(dUVdy, rot2)); - const float3 Lw = float3(0.299, 0.587, 0.114); - float3 Dw = float3(dot(c0.xyz, Lw), dot(c1.xyz, Lw), dot(c2.xyz, Lw)); - Dw = lerp(1.0, Dw, (0.6 /*_StochasticHexFallOffContrast*/)); - W = Dw * pow(W, (7.0 /*_StochasticHexFallOffPower*/)); - W /= (W.x + W.y + W.z); - return W.x * c0 + W.y * c1 + W.z * c2; - } - float4 HextileSampleTexture(Texture2D tex, SamplerState texSampler, float2 uv, bool isNormalMap) - { - return HextileSampleTexture(tex, texSampler, uv, isNormalMap, ddx(uv), ddy(uv)); - } - #endif // defined(_STOCHASTICMODE_HEXTILE) - void applyAlphaOptions(inout PoiFragData poiFragData, in PoiMesh poiMesh, in PoiCam poiCam, in PoiMods poiMods) - { - poiFragData.alpha = saturate(poiFragData.alpha + (0.0 /*_AlphaMod*/)); - if ((0.0 /*_AlphaGlobalMask*/) > 0) - { - poiFragData.alpha = maskBlend(poiFragData.alpha, poiMods.globalMask[(0.0 /*_AlphaGlobalMask*/) - 1], (2.0 /*_AlphaGlobalMaskBlendType*/)); - } - } - float customDistanceBlend(float base, float blend, float blendType) - { - switch(blendType) - { - case 0: return blendNormal(base, blend); break; - case 2: return blendMultiply(base, blend); break; - default: return 0; break; - } - } - void handleGlobalMaskDistance(int index, bool enable, bool type, float minAlpha, float maxAlpha, float min, float max, int blendType, in PoiMesh poiMesh, inout PoiMods poiMods) - { - if (enable) - { - float3 position = type ? poiMesh.worldPos : poiMesh.objectPosition; - float val = lerp(minAlpha, maxAlpha, smoothstep(min, max, distance(position, _WorldSpaceCameraPos))); - poiMods.globalMask[index] = saturate(customDistanceBlend(poiMods.globalMask[index], val, blendType)); - } - } - void ApplyGlobalMaskModifiers(in PoiMesh poiMesh, inout PoiMods poiMods, in PoiCam poiCam) - { - } - float2 calculatePolarCoordinate(in PoiMesh poiMesh) - { - float2 delta = poiMesh.uv[(0.0 /*_PolarUV*/)] - float4(0.5,0.5,0,0); - float radius = length(delta) * 2 * (1.0 /*_PolarRadialScale*/); - float angle = atan2(delta.x, delta.y); - float phi = angle / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - angle = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - angle *= (1.0 /*_PolarLengthScale*/); - return float2(radius, angle + distance(poiMesh.uv[(0.0 /*_PolarUV*/)], float4(0.5,0.5,0,0)) * (0.0 /*_PolarSpiralPower*/)); - } - float2 MonoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(1.0, 1.0 / UNITY_PI); - sphereCoords = float2(1.0, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; - } - float2 StereoPanoProjection(float3 coords) - { - float3 normalizedCoords = normalize(coords); - float latitude = acos(normalizedCoords.y); - float longitude = atan2(normalizedCoords.z, normalizedCoords.x); - float phi = longitude / (UNITY_PI * 2.0); - float phi_frac = frac(phi); - longitude = fwidth(phi) - 0.0001 < fwidth(phi_frac) ? phi : phi_frac; - longitude *= 2; - float2 sphereCoords = float2(longitude, latitude) * float2(0.5, 1.0 / UNITY_PI); - sphereCoords = float2(0.5, 1.0) - sphereCoords; - return (sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 0.5).zw; - } - float2 calculateWorldUV(in PoiMesh poiMesh) - { - return float2((0.0 /*_UVModWorldPos0*/) != 3 ? poiMesh.worldPos[ (0.0 /*_UVModWorldPos0*/)] : 0.0f, (2.0 /*_UVModWorldPos1*/) != 3 ? poiMesh.worldPos[(2.0 /*_UVModWorldPos1*/)] : 0.0f); - } - float2 calculatelocalUV(in PoiMesh poiMesh) - { - float localUVs[8]; - localUVs[0] = poiMesh.localPos.x; - localUVs[1] = poiMesh.localPos.y; - localUVs[2] = poiMesh.localPos.z; - localUVs[3] = 0; - localUVs[4] = poiMesh.vertexColor.r; - localUVs[5] = poiMesh.vertexColor.g; - localUVs[6] = poiMesh.vertexColor.b; - localUVs[7] = poiMesh.vertexColor.a; - return float2(localUVs[(0.0 /*_UVModLocalPos0*/)],localUVs[(1.0 /*_UVModLocalPos1*/)]); - } - float2 calculatePanosphereUV(in PoiMesh poiMesh) - { - float3 viewDirection = normalize(lerp(getCameraPosition().xyz, _WorldSpaceCameraPos.xyz, (1.0 /*_PanoUseBothEyes*/)) - poiMesh.worldPos.xyz) * - 1; - return lerp(MonoPanoProjection(viewDirection), StereoPanoProjection(viewDirection), (0.0 /*_StereoEnabled*/)); - } - float4 frag(VertexOut i, uint facing : SV_IsFrontFace) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - PoiMesh poiMesh; - PoiInitStruct(PoiMesh, poiMesh); - PoiLight poiLight; - PoiInitStruct(PoiLight, poiLight); - PoiVertexLights poiVertexLights; - PoiInitStruct(PoiVertexLights, poiVertexLights); - PoiCam poiCam; - PoiInitStruct(PoiCam, poiCam); - PoiMods poiMods; - PoiInitStruct(PoiMods, poiMods); - poiMods.globalEmission = 1; - PoiFragData poiFragData; - poiFragData.smoothness = 1; - poiFragData.smoothness2 = 1; - poiFragData.metallic = 1; - poiFragData.specularMask = 1; - poiFragData.reflectionMask = 1; - poiFragData.emission = 0; - poiFragData.baseColor = float3(0, 0, 0); - poiFragData.finalColor = float3(0, 0, 0); - poiFragData.alpha = 1; - poiFragData.toggleVertexLights = 0; - #ifdef POI_UDIMDISCARD - applyUDIMDiscard(i); - #endif - poiMesh.objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; - poiMesh.objNormal = mul(unity_WorldToObject, i.normal); - poiMesh.normals[0] = i.normal; - poiMesh.tangent[0] = i.tangent.xyz; - poiMesh.binormal[0] = cross(i.normal, i.tangent.xyz) * (i.tangent.w * unity_WorldTransformParams.w); - poiMesh.worldPos = i.worldPos.xyz; - poiMesh.localPos = i.localPos.xyz; - poiMesh.vertexColor = i.vertexColor; - poiMesh.isFrontFace = facing; - poiMesh.dx = ddx(poiMesh.uv[0]); - poiMesh.dy = ddy(poiMesh.uv[0]); - poiMesh.isRightHand = i.tangent.w > 0.0; - #ifndef POI_PASS_OUTLINE - if (!poiMesh.isFrontFace && (1 /*_FlipBackfaceNormals*/)) - { - poiMesh.normals[0] *= -1; - poiMesh.tangent[0] *= -1; - poiMesh.binormal[0] *= -1; - } - #endif - poiCam.viewDir = !IsOrthographicCamera() ? normalize(_WorldSpaceCameraPos - i.worldPos.xyz) : normalize(UNITY_MATRIX_I_V._m02_m12_m22); - float3 tanToWorld0 = float3(poiMesh.tangent[0].x, poiMesh.binormal[0].x, poiMesh.normals[0].x); - float3 tanToWorld1 = float3(poiMesh.tangent[0].y, poiMesh.binormal[0].y, poiMesh.normals[0].y); - float3 tanToWorld2 = float3(poiMesh.tangent[0].z, poiMesh.binormal[0].z, poiMesh.normals[0].z); - float3 ase_tanViewDir = tanToWorld0 * poiCam.viewDir.x + tanToWorld1 * poiCam.viewDir.y + tanToWorld2 * poiCam.viewDir.z; - poiCam.tangentViewDir = normalize(ase_tanViewDir); - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - poiMesh.lightmapUV = i.lightmapUV; - #endif - poiMesh.parallaxUV = poiCam.tangentViewDir.xy / max(poiCam.tangentViewDir.z, 0.0001); - poiMesh.uv[0] = i.uv[0].xy; - poiMesh.uv[1] = i.uv[0].zw; - poiMesh.uv[2] = i.uv[1].xy; - poiMesh.uv[3] = i.uv[1].zw; - poiMesh.uv[4] = poiMesh.uv[0]; - poiMesh.uv[5] = poiMesh.uv[0]; - poiMesh.uv[6] = poiMesh.uv[0]; - poiMesh.uv[7] = poiMesh.uv[0]; - poiMesh.uv[8] = poiMesh.uv[0]; - poiMesh.uv[4] = calculatePanosphereUV(poiMesh); - poiMesh.uv[5] = calculateWorldUV(poiMesh); - poiMesh.uv[6] = calculatePolarCoordinate(poiMesh); - poiMesh.uv[8] = calculatelocalUV(poiMesh); - poiMods.globalMask[0] = 1; - poiMods.globalMask[1] = 1; - poiMods.globalMask[2] = 1; - poiMods.globalMask[3] = 1; - poiMods.globalMask[4] = 1; - poiMods.globalMask[5] = 1; - poiMods.globalMask[6] = 1; - poiMods.globalMask[7] = 1; - poiMods.globalMask[8] = 1; - poiMods.globalMask[9] = 1; - poiMods.globalMask[10] = 1; - poiMods.globalMask[11] = 1; - poiMods.globalMask[12] = 1; - poiMods.globalMask[13] = 1; - poiMods.globalMask[14] = 1; - poiMods.globalMask[15] = 1; - ApplyGlobalMaskModifiers(poiMesh, poiMods, poiCam); - float2 mainUV = poiUV(poiMesh.uv[(0.0 /*_MainTexUV*/)].xy, float4(1,1,0,0)); - if ((0.0 /*_MainPixelMode*/)) - { - mainUV = sharpSample(float4(0.0004882813,0.0004882813,2048,2048), mainUV); - } - float4 mainTexture = POI2D_SAMPLER_PAN_STOCHASTIC(_MainTex, _MainTex, mainUV, float4(0,0,0,0), (0.0 /*_MainTexStochastic*/)); - #if defined(PROP_BUMPMAP) || !defined(OPTIMIZER_ENABLED) - poiMesh.tangentSpaceNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN_STOCHASTIC(_BumpMap, _MainTex, poiUV(poiMesh.uv[(0.0 /*_BumpMapUV*/)].xy, float4(1,1,0,0)), float4(0,0,0,0), (0.0 /*_BumpMapStochastic*/)), (1.0 /*_BumpScale*/)); - #else - poiMesh.tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - #endif - float3 tangentSpaceNormal = UnpackNormal(float4(0.5, 0.5, 1, 1)); - poiMesh.normals[0] = normalize( - tangentSpaceNormal.x * poiMesh.tangent[0] + - tangentSpaceNormal.y * poiMesh.binormal[0] + - tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.normals[1] = normalize( - poiMesh.tangentSpaceNormal.x * poiMesh.tangent[0] + - poiMesh.tangentSpaceNormal.y * poiMesh.binormal[0] + - poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] - ); - poiMesh.tangent[1] = cross(poiMesh.binormal[0], -poiMesh.normals[1]); - poiMesh.binormal[1] = cross(-poiMesh.normals[1], poiMesh.tangent[0]); - poiCam.forwardDir = getCameraForward(); - poiCam.worldPos = _WorldSpaceCameraPos; - poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); - poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); - poiCam.clipPos = i.pos; - poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); - poiCam.posScreenSpace = poiTransformClipSpacetoScreenSpaceFrag(poiCam.clipPos); - #if defined(POI_GRABPASS) && defined(POI_PASS_BASE) - poiCam.screenUV = poiCam.clipPos.xy / poiGetWidthAndHeight(_PoiGrab2); - #else - poiCam.screenUV = poiCam.clipPos.xy / _ScreenParams.xy; - #endif - #ifdef UNITY_SINGLE_PASS_STEREO - poiCam.posScreenSpace.x = poiCam.posScreenSpace.x * 0.5; - #endif - poiCam.posScreenPixels = calcPixelScreenUVs(poiCam.posScreenSpace); - poiCam.vDotN = abs(dot(poiCam.viewDir, poiMesh.normals[1])); - poiCam.worldDirection.xyz = poiMesh.worldPos.xyz - poiCam.worldPos; - poiCam.worldDirection.w = dot(poiCam.clipPos, CalculateFrustumCorrection()); - poiFragData.baseColor = mainTexture.rgb * poiThemeColor(poiMods, float4(1,1,1,1).rgb, (0.0 /*_ColorThemeIndex*/)); - poiFragData.alpha = mainTexture.a * float4(1,1,1,1).a; - #if defined(PROP_ALPHAMASK) || !defined(OPTIMIZER_ENABLED) - if ((2.0 /*_MainAlphaMaskMode*/)) - { - float alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiUV(poiMesh.uv[(0.0 /*_AlphaMaskUV*/)], float4(1,1,0,0)), float4(0,0,0,0).xy).r; - alphaMask = saturate(alphaMask * (1.0 /*_AlphaMaskBlendStrength*/) + ((0.0 /*_AlphaMaskInvert*/) ?_AlphaMaskValue * -1 : (0.0 /*_AlphaMaskValue*/))); - if ((0.0 /*_AlphaMaskInvert*/)) alphaMask = 1 - alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 1) poiFragData.alpha = alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 2) poiFragData.alpha = poiFragData.alpha * alphaMask; - if ((2.0 /*_MainAlphaMaskMode*/) == 3) poiFragData.alpha = saturate(poiFragData.alpha + alphaMask); - if ((2.0 /*_MainAlphaMaskMode*/) == 4) poiFragData.alpha = saturate(poiFragData.alpha - alphaMask); - } - #endif - applyAlphaOptions(poiFragData, poiMesh, poiCam, poiMods); - poiFragData.finalColor = poiFragData.baseColor; - if ((0.0 /*_IgnoreFog*/) == 0) - { - UNITY_APPLY_FOG(i.fogCoord, poiFragData.finalColor); - } - poiFragData.alpha = (1.0 /*_AlphaForceOpaque*/) ? 1 : poiFragData.alpha; - if ((0.0 /*_Mode*/) == POI_MODE_OPAQUE) - { - poiFragData.alpha = 1; - } - clip(poiFragData.alpha - (0.5 /*_Cutoff*/)); - return float4(poiFragData.finalColor, poiFragData.alpha) + POI_SAFE_RGB0; - } - ENDCG - } - } - CustomEditor "Thry.ShaderEditor" -} diff --git a/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader.meta b/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader.meta deleted file mode 100644 index b3ec29e..0000000 --- a/Partner Rings/internal/Material/OptimizedShaders/Ring/Poiyomi Toon.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: f8278f183f0ae554aa81cad3c334d1d1 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Quest.meta b/Partner Rings/internal/Material/Quest.meta deleted file mode 100644 index ad658d6..0000000 --- a/Partner Rings/internal/Material/Quest.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 33c66d81ca4bf9b4787b46be2fe52521 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Quest/Diamond Quest.mat b/Partner Rings/internal/Material/Quest/Diamond Quest.mat deleted file mode 100644 index bd30fe3..0000000 --- a/Partner Rings/internal/Material/Quest/Diamond Quest.mat +++ /dev/null @@ -1,3800 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Diamond Quest - m_Shader: {fileID: 4800000, guid: e765db0afa7ecfc44ade2e4e2491f65a, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - USE_MATCAP - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _EMISSION - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: 971bf16b6df45604da62c56710901cec - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _EMISSION - _LIGHTINGMODE_FLAT _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - _ColorAnimated: 1 - _EmissionStrengthAnimated: 1 - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - 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} - - _EmissionScrollingCurve: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HueShiftMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - 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} - - _MatCap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: deed2c4dd33488b4b835923e707135fa, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: e785b2a3647e1c040a33a0efd5a9bd08, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - - _MetallicMap: - 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} - - _Ramp: - m_Texture: {fileID: 2800000, guid: 636cf1b5dfca6f54b94ca3d2ff8216c9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _AAStrength: 1 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AlphaToMask: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAnimToggle: 1 - - _AudioLinkAsLocal: 0 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 0 - - _Culling: 2 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailHueShift: 0 - - _DetailMaskChannel: 3 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailMode: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DetailUV: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMainStrength: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMap_UVMode: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionParallaxDepth: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissionUV: 0 - - _EmissionUseGrad: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 1 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipNormal: 0 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GSAAStrength: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRandomize: 0 - - _GlitterAngleRange: 90 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterEnableLighting: 1 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMainStrength: 0 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleRandomize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUVMode: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlitterVRParallaxStrength: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapChannel: 3 - - _GlossMapScale: 1 - - _GlossStrength: 0.5 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _HueShift: 0 - - _HueShiftMaskChannel: 1 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreEncryption: 0 - - _IgnoreFog: 0 - - _Invisible: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LimitBrightness: 1 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 1 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 0 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 0.234 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapStrength: 1 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapType: 0 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _MetallicMapChannel: 0 - - _MetallicStrength: 0 - - _MinBrightness: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MonochromeLighting: 0 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionMapChannel: 1 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEmission: 0 - - _OutlineEnableLighting: 1 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 0.5 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilComp: 8 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.08 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxOffset: 0.5 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimAlbedoTint: 0 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimEnvironmental: 0 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimIntensity: 0.5 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimRange: 0.3 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowAlbedo: 0.5 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBoost: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorTexUV: 0 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularSharpness: 0 - - _SpecularToon: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilComp: 8 - - _StencilCompareFunction: 8 - - _StencilFail: 0 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPass: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubpassCutoff: 0.5 - - _SubsurfaceScattering: 0 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _TransparentMode: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseLightColor: 1 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexColor: 0 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLightStrength: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 0 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 1 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 1 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 0 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {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} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 1, g: 0.72156864, b: 0.9535657, a: 1} - - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, 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} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0, g: 0.32, b: 1, a: 1} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineColor: {r: 0.6, g: 0.56, b: 0.73, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, 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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Quest/Diamond Quest.mat.meta b/Partner Rings/internal/Material/Quest/Diamond Quest.mat.meta deleted file mode 100644 index 5d6e560..0000000 --- a/Partner Rings/internal/Material/Quest/Diamond Quest.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e25d135610fa8174180a73538208f7d0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Quest/Heart Quest.mat b/Partner Rings/internal/Material/Quest/Heart Quest.mat deleted file mode 100644 index f2c4dbc..0000000 --- a/Partner Rings/internal/Material/Quest/Heart Quest.mat +++ /dev/null @@ -1,774 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Heart Quest - m_Shader: {fileID: 4800000, guid: 3ad043b7f9839cb48a75a9238d433dec, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyScaleMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyShiftNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyTangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AudioLinkLocalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AudioLinkMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BacklightColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Bump2ndMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Bump2ndScaleMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _DissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DitherTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndGradTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionGradTex: - 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} - - _GlitterColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlitterShapeTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndDissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndDissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdDissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdDissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainColorAdjustMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainGradationTex: - 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} - - _MatCap: - m_Texture: {fileID: 2800000, guid: e4f0b8c5fc1a36347a7f6b8f38cdb992, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndBumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapBumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: e4f0b8c5fc1a36347a7f6b8f38cdb992, 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineVectorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineWidthMask: - 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} - - _ReflectionColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectionCubeTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimShadeMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Shadow2ndColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Shadow3rdColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowBlurMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowBorderMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowStrengthMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SmoothnessTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AAStrength: 1 - - _AlphaBoostFA: 10 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskValue: 0 - - _AlphaToMask: 0 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAsLocal: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightDirectivity: 5 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpScale: 1 - - _ColorMask: 15 - - _Cull: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DissolveNoiseStrength: 0.1 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionMainStrength: 0 - - _EmissionMap_UVMode: 0 - - _EmissionParallaxDepth: 0 - - _EmissionUseGrad: 0 - - _FlipNormal: 0 - - _GSAAStrength: 0 - - _GlitterAngleRandomize: 0 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterEnableLighting: 1 - - _GlitterMainStrength: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterScaleRandomize: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterUVMode: 0 - - _GlitterVRParallaxStrength: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreEncryption: 0 - - _Invisible: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainGradationStrength: 0 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 1 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Metallic: 0 - - _Mode: 0 - - _MonochromeLighting: 0 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEnableLighting: 1 - - _OutlineFixWidth: 0.5 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilComp: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.08 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _Parallax: 0.02 - - _ParallaxOffset: 0.5 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBlendMode: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimFresnelPower: 3.5 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimMainStrength: 0 - - _RimNormalStrength: 1 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimVRParallaxStrength: 1 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularToon: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _StencilComp: 8 - - _StencilFail: 0 - - _StencilPass: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _SubpassCutoff: 0.5 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TransparentMode: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVSec: 0 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _VertexLightStrength: 0 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - m_Colors: - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _DissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, b: 0, a: 0} - - _GlitterColor: {r: 1, g: 1, b: 1, a: 1} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _OutlineColor: {r: 0.6, g: 0.56, b: 0.73, a: 1} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, a: 1} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Quest/Heart Quest.mat.meta b/Partner Rings/internal/Material/Quest/Heart Quest.mat.meta deleted file mode 100644 index f26e38f..0000000 --- a/Partner Rings/internal/Material/Quest/Heart Quest.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 09daf894df69a014ba2a4dd01644a8f3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Quest/Ring Quest.mat b/Partner Rings/internal/Material/Quest/Ring Quest.mat deleted file mode 100644 index d9fb126..0000000 --- a/Partner Rings/internal/Material/Quest/Ring Quest.mat +++ /dev/null @@ -1,828 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Ring Quest - m_Shader: {fileID: 4800000, guid: e765db0afa7ecfc44ade2e4e2491f65a, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - USE_MATCAP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyScaleMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyShiftNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AnisotropyTangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AudioLinkLocalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AudioLinkMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BacklightColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 5d87d5dd92be5674982ef0c1edfb94db, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 5d87d5dd92be5674982ef0c1edfb94db, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Bump2ndMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Bump2ndScaleMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _DissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DitherTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndGradTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emission2ndMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionGradTex: - 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} - - _GlitterColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlitterShapeTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HueShiftMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndDissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndDissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main2ndTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdDissolveMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdDissolveNoiseMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Main3rdTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainColorAdjustMask: - m_Texture: {fileID: 2800000, guid: 19a02511bcbbcd64f9a49617c2a0264f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainGradationTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e23c34c38b35ef64cab72e7097906532, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap: - m_Texture: {fileID: 2800000, guid: 5c40cf196853cbc40b173006ae249809, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndBumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap2ndTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapBumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: 5c40cf196853cbc40b173006ae249809, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: e4f0b8c5fc1a36347a7f6b8f38cdb992, type: 3} - 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} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicMap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineVectorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineWidthMask: - 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: 636cf1b5dfca6f54b94ca3d2ff8216c9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectionColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectionCubeTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimShadeMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Shadow2ndColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Shadow3rdColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowBlurMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowBorderMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowColorTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowStrengthMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SmoothnessTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AAStrength: 1 - - _AlphaBoostFA: 10 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskValue: 0 - - _AlphaToMask: 0 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAsLocal: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightDirectivity: 5 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpScale: 1 - - _ColorMask: 15 - - _Cull: 0 - - _Culling: 2 - - _Cutoff: 0.5 - - _DetailHueShift: 0 - - _DetailMaskChannel: 3 - - _DetailMode: 0 - - _DetailNormalMapScale: 1 - - _DetailUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionMainStrength: 0 - - _EmissionMap_UVMode: 0 - - _EmissionParallaxDepth: 0 - - _EmissionStrength: 1 - - _EmissionUV: 0 - - _EmissionUseGrad: 0 - - _FlipNormal: 0 - - _GSAAStrength: 0 - - _GlitterAngleRandomize: 0 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterEnableLighting: 1 - - _GlitterMainStrength: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterScaleRandomize: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterUVMode: 0 - - _GlitterVRParallaxStrength: 0 - - _GlossMapChannel: 3 - - _GlossMapScale: 1 - - _GlossStrength: 0.5 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HueShift: 0 - - _HueShiftMaskChannel: 1 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreEncryption: 0 - - _Invisible: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LimitBrightness: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainGradationStrength: 0 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 3 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _MatcapMaskChannel: 0 - - _MatcapStrength: 1 - - _MatcapType: 0 - - _Metallic: 0 - - _MetallicMapChannel: 0 - - _MetallicStrength: 0 - - _MinBrightness: 0 - - _Mode: 0 - - _MonochromeLighting: 0 - - _OcclusionMapChannel: 1 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEnableLighting: 1 - - _OutlineFixWidth: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilComp: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.4 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _Parallax: 0.02 - - _ParallaxOffset: 0.5 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RimAlbedoTint: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBlendMode: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnvironmental: 0 - - _RimFresnelPower: 3.5 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimIntensity: 0.5 - - _RimMainStrength: 0 - - _RimNormalStrength: 1 - - _RimRange: 0.3 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimSharpness: 0.1 - - _RimVRParallaxStrength: 1 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowAlbedo: 0.5 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBoost: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularSharpness: 0 - - _SpecularToon: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _StencilComp: 8 - - _StencilFail: 0 - - _StencilPass: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _SubpassCutoff: 0.5 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TransparentMode: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVSec: 0 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _VertexColor: 0 - - _VertexLightStrength: 0 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - m_Colors: - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _DissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, b: 0, a: 0} - - _GlitterColor: {r: 1, g: 1, b: 1, a: 1} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0.142, g: 0.82, b: 0.39, a: 1} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _OutlineColor: {r: 0.5754717, g: 0.36796463, b: 0.3501691, a: 1} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, a: 1} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Quest/Ring Quest.mat.meta b/Partner Rings/internal/Material/Quest/Ring Quest.mat.meta deleted file mode 100644 index be4168b..0000000 --- a/Partner Rings/internal/Material/Quest/Ring Quest.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f12dee37b7d4657478e9d512819bbf5d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Quest/quest ring tex.png b/Partner Rings/internal/Material/Quest/quest ring tex.png deleted file mode 100644 index 40792e4..0000000 Binary files a/Partner Rings/internal/Material/Quest/quest ring tex.png and /dev/null differ diff --git a/Partner Rings/internal/Material/Quest/quest ring tex.png.meta b/Partner Rings/internal/Material/Quest/quest ring tex.png.meta deleted file mode 100644 index 7626e34..0000000 --- a/Partner Rings/internal/Material/Quest/quest ring tex.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: e23c34c38b35ef64cab72e7097906532 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Material/Ring.mat b/Partner Rings/internal/Material/Ring.mat deleted file mode 100644 index 7da4555..0000000 --- a/Partner Rings/internal/Material/Ring.mat +++ /dev/null @@ -1,3728 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Ring - m_Shader: {fileID: 4800000, guid: f8278f183f0ae554aa81cad3c334d1d1, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: - - BSSBLOOMFOGTYPE_HEIGHT - - POI_MATCAP0 - - VIGNETTE_MASKED - - _LIGHTINGMODE_FLAT - - _RIM2STYLE_POIYOMI - - _RIMSTYLE_POIYOMI - - _STOCHASTICMODE_DELIOT_HEITZ - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - AllLockedGUIDS: 86b2fb72365f08e43bf2a41f7eed62b8 - OriginalKeywords: BSSBLOOMFOGTYPE_HEIGHT POI_MATCAP0 VIGNETTE_MASKED _LIGHTINGMODE_FLAT - _RIM2STYLE_POIYOMI _RIMSTYLE_POIYOMI _STOCHASTICMODE_DELIOT_HEITZ - OriginalShader: .poiyomi/Poiyomi Toon - OriginalShaderGUID: 23f6705aff8bf964c87bfb3dd66ab345 - RenderType: Opaque - _stripped_tex__ClothDFG: 76d65cbce584df7449699fb8406f60ea - _stripped_tex__SkinLUT: d13510bb2be49aa40a66a0101efb6a36 - _stripped_tex__ToonRamp: 61bd594533da4fc42bd46ef93ba5a4f6 - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 5d87d5dd92be5674982ef0c1edfb94db, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 5d87d5dd92be5674982ef0c1edfb94db, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingAOMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingDetailShadowMaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _LightingShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainColorAdjustMask: - m_Texture: {fileID: 2800000, guid: 19a02511bcbbcd64f9a49617c2a0264f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2c7ee99b53b0a644b9bfcabaac2ece76, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCapTex: - m_Texture: {fileID: 2800000, guid: 5c40cf196853cbc40b173006ae249809, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap: - m_Texture: {fileID: 2800000, guid: 5c40cf196853cbc40b173006ae249809, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Matcap0NormalMap: - 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} - m_Ints: [] - m_Floats: - - GeometryShader_Enabled: 1 - - Instancing: 0 - - Tessellation_Enabled: 1 - - _1st2nd_Shades_Feather: 0.0001 - - _1stShadeMapMask_Inverse: 0 - - _1st_ShadeMapUV: 0 - - _2ndShadeMapMask_Inverse: 0 - - _2nd_ShadeMapUV: 0 - - _AAStrength: 1 - - _ALDecalBandClipMax: 1 - - _ALDecalBandClipMin: 0 - - _ALDecalBandStep: 0 - - _ALDecalBaseBoost: 5 - - _ALDecalBlendAlpha: 1 - - _ALDecalBlendType: 0 - - _ALDecalColorMaskUV: 0 - - _ALDecalControlsAlpha: 0 - - _ALDecalGlobalMask: 0 - - _ALDecalGlobalMaskBlendType: 2 - - _ALDecalHighEmission: 0 - - _ALDecalLineWidth: 1 - - _ALDecalLowEmission: 0 - - _ALDecalMidEmission: 0 - - _ALDecalShapeClip: 0 - - _ALDecalShapeClipBandWidth: 0.5 - - _ALDecalShapeClipVolumeWidth: 0.5 - - _ALDecalTrebleBoost: 1 - - _ALDecalType: 0 - - _ALDecalUV: 0 - - _ALDecalUVMode: 0 - - _ALDecalVolume: 0.5 - - _ALDecalVolumeClipMax: 1 - - _ALDecalVolumeClipMin: 0 - - _ALDecalVolumeColorHighThemeIndex: 0 - - _ALDecalVolumeColorLowThemeIndex: 0 - - _ALDecalVolumeColorMidThemeIndex: 0 - - _ALDecalVolumeColorSource: 1 - - _ALDecalVolumeStep: 0 - - _ALHighEmission: 0 - - _ALLowEmission: 0 - - _ALMidEmission: 0 - - _ALUVRotation: 0 - - _ALUVRotationSpeed: 0 - - _ALVolumeColorBlendAlpha: 1 - - _ALVolumeColorBlendType: 0 - - _ALVolumeColorDirection: 0 - - _ALVolumeColorHighThemeIndex: 0 - - _ALVolumeColorLowThemeIndex: 0 - - _ALVolumeColorMidThemeIndex: 0 - - _ALVolumeColorUV: 0 - - _AddBlendOp: 4 - - _AddBlendOpAlpha: 4 - - _AddDstBlend: 1 - - _AddDstBlendAlpha: 1 - - _AddSrcBlend: 1 - - _AddSrcBlendAlpha: 0 - - _Add_Antipodean_Rim2Light: 0 - - _Add_Antipodean_RimLight: 0 - - _AlphaAlphaAdd: 0 - - _AlphaAngular: 0 - - _AlphaAngularGlobalMask: 0 - - _AlphaAudioLinkAddBand: 0 - - _AlphaAudioLinkEnabled: 0 - - _AlphaBoostFA: 10 - - _AlphaColorThemeIndex: 0 - - _AlphaDistanceFade: 0 - - _AlphaDistanceFadeGlobalMask: 0 - - _AlphaDistanceFadeMax: 0 - - _AlphaDistanceFadeMaxAlpha: 1 - - _AlphaDistanceFadeMin: 0 - - _AlphaDistanceFadeMinAlpha: 0 - - _AlphaDistanceFadeType: 1 - - _AlphaDitherBias: 0 - - _AlphaDitherGradient: 0.1 - - _AlphaDithering: 0 - - _AlphaForceOpaque: 1 - - _AlphaFresnel: 0 - - _AlphaFresnelAlpha: 0 - - _AlphaFresnelGlobalMask: 0 - - _AlphaFresnelInvert: 0 - - _AlphaFresnelSharpness: 0.5 - - _AlphaFresnelWidth: 0.5 - - _AlphaGlobalMask: 0 - - _AlphaGlobalMaskBlendType: 2 - - _AlphaMaskBlendStrength: 1 - - _AlphaMaskInvert: 0 - - _AlphaMaskMode: 0 - - _AlphaMaskScale: 1 - - _AlphaMaskUV: 0 - - _AlphaMaskValue: 0 - - _AlphaMipScale: 0.25 - - _AlphaMod: 0 - - _AlphaPremultiply: 0 - - _AlphaSharpenedA2C: 0 - - _AlphaTextureStochastic: 0 - - _AlphaTextureUV: 0 - - _AlphaToCoverage: 0 - - _AlphaToMask: 0 - - _AngleCompareTo: 0 - - _AngleMinAlpha: 0 - - _AngleType: 0 - - _Aniso0Blur: 0 - - _Aniso0Edge: 0.5 - - _Aniso0Offset: 0 - - _Aniso0OffsetMapStrength: 0 - - _Aniso0Power: 0 - - _Aniso0Strength: 1 - - _Aniso0SwitchDirection: 0 - - _Aniso0TintIndex: 0 - - _Aniso0ToonMode: 0 - - _Aniso1Blur: 0 - - _Aniso1Edge: 0.5 - - _Aniso1Offset: 0 - - _Aniso1OffsetMapStrength: 0 - - _Aniso1Power: 0.1 - - _Aniso1Strength: 1 - - _Aniso1SwitchDirection: 0 - - _Aniso1TintIndex: 0 - - _Aniso1ToonMode: 0 - - _AnisoAdd: 1 - - _AnisoColorMapUV: 0 - - _AnisoGlobalMask: 0 - - _AnisoGlobalMaskBlendType: 2 - - _AnisoHideInShadow: 1 - - _AnisoReplace: 0 - - _AnisoUseBaseColor: 0 - - _AnisoUseLightColor: 1 - - _Anisotropy2MatCap: 0 - - _Anisotropy2MatCap2nd: 0 - - _Anisotropy2Reflection: 0 - - _Anisotropy2ndBitangentWidth: 1 - - _Anisotropy2ndShift: 0 - - _Anisotropy2ndShiftNoiseScale: 0 - - _Anisotropy2ndSpecularStrength: 0 - - _Anisotropy2ndTangentWidth: 1 - - _AnisotropyBitangentWidth: 1 - - _AnisotropyScale: 1 - - _AnisotropyShift: 0 - - _AnisotropyShiftNoiseScale: 0 - - _AnisotropySpecularStrength: 1 - - _AnisotropyTangentWidth: 1 - - _Ap_Rim2Light_FeatherOff: 0 - - _Ap_Rim2Light_Power: 0.1 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _ApplyReflection: 0 - - _ApplySpecular: 1 - - _ApplySpecularFA: 1 - - _AsOverlay: 0 - - _AsUnlit: 0 - - _AudioLink2Emission: 0 - - _AudioLink2Emission2nd: 0 - - _AudioLink2Emission2ndGrad: 0 - - _AudioLink2EmissionGrad: 0 - - _AudioLink2Main2nd: 0 - - _AudioLink2Main3rd: 0 - - _AudioLink2Vertex: 0 - - _AudioLinkAnimToggle: 1 - - _AudioLinkAsLocal: 0 - - _AudioLinkBandOverridesEnabled: 0 - - _AudioLinkDecal0AlphaBand: 0 - - _AudioLinkDecal0ChannelSeparationBand: 0 - - _AudioLinkDecal0EmissionBand: 0 - - _AudioLinkDecal0RotationBand: 0 - - _AudioLinkDecal0ScaleBand: 0 - - _AudioLinkDecal0SideBand: 0 - - _AudioLinkDecal1AlphaBand: 0 - - _AudioLinkDecal1ChannelSeparationBand: 0 - - _AudioLinkDecal1EmissionBand: 0 - - _AudioLinkDecal1RotationBand: 0 - - _AudioLinkDecal1ScaleBand: 0 - - _AudioLinkDecal1SideBand: 0 - - _AudioLinkDecal2AlphaBand: 0 - - _AudioLinkDecal2ChannelSeparationBand: 0 - - _AudioLinkDecal2EmissionBand: 0 - - _AudioLinkDecal2RotationBand: 0 - - _AudioLinkDecal2ScaleBand: 0 - - _AudioLinkDecal2SideBand: 0 - - _AudioLinkDecal3AlphaBand: 0 - - _AudioLinkDecal3ChannelSeparationBand: 0 - - _AudioLinkDecal3EmissionBand: 0 - - _AudioLinkDecal3RotationBand: 0 - - _AudioLinkDecal3ScaleBand: 0 - - _AudioLinkDecal3SideBand: 0 - - _AudioLinkDecalCC0: 0 - - _AudioLinkDecalCC1: 0 - - _AudioLinkDecalCC2: 0 - - _AudioLinkDecalCC3: 0 - - _AudioLinkDissolveAlphaBand: 0 - - _AudioLinkDissolveDetailBand: 0 - - _AudioLinkEmission0CenterOutBand: 0 - - _AudioLinkEmission0CenterOutDuration: 1 - - _AudioLinkEmission0CenterOutSize: 0 - - _AudioLinkEmission1CenterOutBand: 0 - - _AudioLinkEmission1CenterOutDuration: 1 - - _AudioLinkEmission1CenterOutSize: 0 - - _AudioLinkEmission2CenterOutBand: 0 - - _AudioLinkEmission2CenterOutDuration: 1 - - _AudioLinkEmission2CenterOutSize: 0 - - _AudioLinkEmission3CenterOutBand: 0 - - _AudioLinkEmission3CenterOutDuration: 1 - - _AudioLinkEmission3CenterOutSize: 0 - - _AudioLinkFlipbookAlphaBand: 0 - - _AudioLinkFlipbookEmissionBand: 0 - - _AudioLinkFlipbookFrameBand: 0 - - _AudioLinkFlipbookScaleBand: 0 - - _AudioLinkHelp: 0 - - _AudioLinkMask_UVMode: 0 - - _AudioLinkOutlineColorBand: 0 - - _AudioLinkOutlineEmissionBand: 0 - - _AudioLinkOutlineSizeBand: 0 - - _AudioLinkPathEmissionAddBandA: 0 - - _AudioLinkPathEmissionAddBandB: 0 - - _AudioLinkPathEmissionAddBandG: 0 - - _AudioLinkPathEmissionAddBandR: 0 - - _AudioLinkPathTimeOffsetBandA: 0 - - _AudioLinkPathTimeOffsetBandB: 0 - - _AudioLinkPathTimeOffsetBandG: 0 - - _AudioLinkPathTimeOffsetBandR: 0 - - _AudioLinkPathWidthOffsetBandA: 0 - - _AudioLinkPathWidthOffsetBandB: 0 - - _AudioLinkPathWidthOffsetBandG: 0 - - _AudioLinkPathWidthOffsetBandR: 0 - - _AudioLinkRim2BrightnessBand: 0 - - _AudioLinkRim2EmissionBand: 0 - - _AudioLinkRim2WidthBand: 0 - - _AudioLinkRimBrightnessBand: 0 - - _AudioLinkRimEmissionBand: 0 - - _AudioLinkRimWidthBand: 0 - - _AudioLinkSmoothingBass: 0 - - _AudioLinkSmoothingHighMid: 0 - - _AudioLinkSmoothingLowMid: 0 - - _AudioLinkSmoothingTreble: 0 - - _AudioLinkUVMode: 1 - - _AudioLinkVertexUVMode: 1 - - _AudioLinkVoronoiChronoSpeedXBand: 0 - - _AudioLinkVoronoiChronoSpeedXSpeed: 0 - - _AudioLinkVoronoiChronoSpeedXType: 0 - - _AudioLinkVoronoiChronoSpeedYBand: 0 - - _AudioLinkVoronoiChronoSpeedYSpeed: 0 - - _AudioLinkVoronoiChronoSpeedYType: 0 - - _AudioLinkVoronoiChronoSpeedZBand: 0 - - _AudioLinkVoronoiChronoSpeedZSpeed: 0 - - _AudioLinkVoronoiChronoSpeedZType: 0 - - _AudioLinkVoronoiGradientMaxAdd: 0 - - _AudioLinkVoronoiGradientMaxAddBand: 0 - - _AudioLinkVoronoiGradientMinAdd: 0 - - _AudioLinkVoronoiGradientMinAddBand: 0 - - _AudioLinkVoronoiInnerEmissionBand: 0 - - _AudioLinkVoronoiOuterEmissionBand: 0 - - _BRDFTPSDepthEnabled: 0 - - _BRDFTPSReflectionMaskStrength: 1 - - _BRDFTPSSpecularMaskStrength: 1 - - _BSSBloomfog: 0 - - _BSSBloomfogType: 1 - - _BSSEnabled: 0 - - _BSSHelpBox1: 0 - - _BSSHelpBox2: 0 - - _BSSHelpBox3: 0 - - _BSSSpacer1: 0 - - _BSSSpacer2: 0 - - _BSSSpacer3: 0 - - _BackFaceColorThemeIndex: 0 - - _BackFaceDetailIntensity: 1 - - _BackFaceEmissionLimiter: 1 - - _BackFaceEmissionStrength: 0 - - _BackFaceEnabled: 0 - - _BackFaceHueShift: 0 - - _BackFaceHueShiftEnabled: 0 - - _BackFaceHueShiftSpeed: 0 - - _BackFaceMaskChannel: 0 - - _BackFaceMaskUV: 0 - - _BackFaceReplaceAlpha: 0 - - _BackFaceShiftColorSpace: 0 - - _BackFaceTextureUV: 0 - - _BackfaceForceShadow: 0 - - _BacklightBackfaceMask: 1 - - _BacklightBlur: 0.05 - - _BacklightBorder: 0.35 - - _BacklightColorTexUV: 0 - - _BacklightDirectivity: 5 - - _BacklightEnabled: 0 - - _BacklightMainStrength: 0 - - _BacklightNormalStrength: 1 - - _BacklightReceiveShadow: 1 - - _BacklightViewStrength: 1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _BeforeExposureLimit: 10000 - - _BitKey0: 0 - - _BitKey1: 0 - - _BitKey10: 0 - - _BitKey11: 0 - - _BitKey12: 0 - - _BitKey13: 0 - - _BitKey14: 0 - - _BitKey15: 0 - - _BitKey16: 0 - - _BitKey17: 0 - - _BitKey18: 0 - - _BitKey19: 0 - - _BitKey2: 0 - - _BitKey20: 0 - - _BitKey21: 0 - - _BitKey22: 0 - - _BitKey23: 0 - - _BitKey24: 0 - - _BitKey25: 0 - - _BitKey26: 0 - - _BitKey27: 0 - - _BitKey28: 0 - - _BitKey29: 0 - - _BitKey3: 0 - - _BitKey30: 0 - - _BitKey31: 0 - - _BitKey4: 0 - - _BitKey5: 0 - - _BitKey6: 0 - - _BitKey7: 0 - - _BitKey8: 0 - - _BitKey9: 0 - - _BlackLightMasking0GlobalMaskBlendType: 0 - - _BlackLightMasking0GlobalMaskIndex: 0 - - _BlackLightMasking0Key: 1 - - _BlackLightMasking1GlobalMaskBlendType: 0 - - _BlackLightMasking1GlobalMaskIndex: 0 - - _BlackLightMasking1Key: 2 - - _BlackLightMasking2GlobalMaskBlendType: 0 - - _BlackLightMasking2GlobalMaskIndex: 0 - - _BlackLightMasking2Key: 3 - - _BlackLightMasking3GlobalMaskBlendType: 0 - - _BlackLightMasking3GlobalMaskIndex: 0 - - _BlackLightMasking3Key: 4 - - _BlackLightMaskingEnabled: 0 - - _BlendOp: 0 - - _BlendOpAlpha: 0 - - _BlendOpAlphaFA: 4 - - _BlendOpFA: 4 - - _BlueAlphaAdd: 0 - - _BlueColorThemeIndex: 0 - - _BlueTextureStochastic: 0 - - _BlueTextureUV: 0 - - _Bump2ndMap_UVMode: 0 - - _Bump2ndScale: 1 - - _BumpMapStochastic: 0 - - _BumpMapUV: 0 - - _BumpScale: 1 - - _CCIgnoreCastedShadows: 0 - - _CameraAngleMax: 90 - - _CameraAngleMin: 45 - - _CenterOutDissolveInvert: 0 - - _CenterOutDissolveMode: 1 - - _CenterOutDissolveNormals: 0 - - _CenterOutDissolvePower: 1 - - _ClearCoatBRDF: 0 - - _ClearCoatForceFallback: 0 - - _ClearCoatGSAAEnabled: 1 - - _ClearCoatGSAAThreshold: 0.1 - - _ClearCoatGSAAVariance: 0.15 - - _ClearCoatGlobalMask: 0 - - _ClearCoatGlobalMaskBlendType: 2 - - _ClearCoatLitFallback: 1 - - _ClearCoatMapsClearCoatMaskChannel: 0 - - _ClearCoatMapsReflectionMaskChannel: 2 - - _ClearCoatMapsRoughnessChannel: 1 - - _ClearCoatMapsSpecularMaskChannel: 3 - - _ClearCoatMapsStochastic: 0 - - _ClearCoatMapsUV: 0 - - _ClearCoatMaskInvert: 0 - - _ClearCoatNormalSelect: 0 - - _ClearCoatReflectionMaskInvert: 0 - - _ClearCoatReflectionStrength: 1 - - _ClearCoatReflectionStrengthGlobalMask: 0 - - _ClearCoatReflectionStrengthGlobalMaskBlendType: 2 - - _ClearCoatReflectionTintThemeIndex: 0 - - _ClearCoatSmoothness: 1 - - _ClearCoatSmoothnessGlobalMask: 0 - - _ClearCoatSmoothnessGlobalMaskBlendType: 2 - - _ClearCoatSmoothnessMapInvert: 0 - - _ClearCoatSpecularMaskInvert: 0 - - _ClearCoatSpecularStrength: 1 - - _ClearCoatSpecularStrengthGlobalMask: 0 - - _ClearCoatSpecularStrengthGlobalMaskBlendType: 2 - - _ClearCoatSpecularTintThemeIndex: 0 - - _ClearCoatStrength: 1 - - _ClearCoatTPSDepthMaskEnabled: 0 - - _ClearCoatTPSMaskStrength: 1 - - _ClearcoatFresnel: 1 - - _ClothLerp: 0 - - _ClothMetallicSmoothnessMapInvert: 0 - - _ClothMetallicSmoothnessMapUV: 0 - - _ClothReflectance: 0.5 - - _ClothSmoothness: 0.5 - - _ColorGradingToggle: 0 - - _ColorMask: 15 - - _ColorThemeIndex: 0 - - _ContinuousDissolve: 0 - - _CubeMapBlendAmount: 1 - - _CubeMapBrightness: 0 - - _CubeMapColorThemeIndex: 0 - - _CubeMapContrast: 1 - - _CubeMapEmissionStrength: 0 - - _CubeMapEnabled: 0 - - _CubeMapHueShift: 0 - - _CubeMapHueShiftEnabled: 0 - - _CubeMapHueShiftSpeed: 0 - - _CubeMapIntensity: 1 - - _CubeMapLightMask: 0 - - _CubeMapMaskChannel: 0 - - _CubeMapMaskGlobalMask: 0 - - _CubeMapMaskGlobalMaskBlendType: 2 - - _CubeMapMaskInvert: 0 - - _CubeMapMaskUV: 0 - - _CubeMapNormal: 1 - - _CubeMapSaturation: 1 - - _CubeMapSmoothness: 1 - - _CubeMapUVMode: 1 - - _CubeMapWorldNormalsStrength: 1 - - _CubemapBlendType: 0 - - _Cull: 0 - - _CurvFix: 1 - - _CurvatureU: 0 - - _CurvatureV: 0 - - _CustomColors: 0 - - _Cutoff: 0.5 - - _Decal0ApplyGlobalMaskBlendType: 0 - - _Decal0ApplyGlobalMaskIndex: 0 - - _Decal0ChannelSeparation: 0 - - _Decal0ChannelSeparationAngleStrength: 0 - - _Decal0ChannelSeparationEnable: 0 - - _Decal0ChannelSeparationHue: 0 - - _Decal0ChannelSeparationPremultiply: 0 - - _Decal0ChannelSeparationVertical: 0 - - _Decal0Depth: 0 - - _Decal0FaceMask: 0 - - _Decal0GlobalMask: 0 - - _Decal0GlobalMaskBlendType: 2 - - _Decal0HueAngleStrength: 0 - - _Decal0MaskChannel: 0 - - _Decal0OnlyVideo: 0 - - _Decal0OverrideAlphaMode: 0 - - _Decal0TPSMaskStrength: 1 - - _Decal0UseDecalAlpha: 0 - - _Decal0VideoAspectFix: 0 - - _Decal0VideoEmissionStrength: 0 - - _Decal0VideoEnabled: 0 - - _Decal0VideoFitToScale: 1 - - _Decal1ApplyGlobalMaskBlendType: 0 - - _Decal1ApplyGlobalMaskIndex: 0 - - _Decal1ChannelSeparation: 0 - - _Decal1ChannelSeparationAngleStrength: 0 - - _Decal1ChannelSeparationEnable: 0 - - _Decal1ChannelSeparationHue: 0 - - _Decal1ChannelSeparationPremultiply: 0 - - _Decal1ChannelSeparationVertical: 0 - - _Decal1Depth: 0 - - _Decal1FaceMask: 0 - - _Decal1GlobalMask: 0 - - _Decal1GlobalMaskBlendType: 2 - - _Decal1HueAngleStrength: 0 - - _Decal1MaskChannel: 1 - - _Decal1OnlyVideo: 0 - - _Decal1OverrideAlphaMode: 0 - - _Decal1TPSMaskStrength: 1 - - _Decal1UseDecalAlpha: 0 - - _Decal1VideoAspectFix: 0 - - _Decal1VideoEmissionStrength: 0 - - _Decal1VideoEnabled: 0 - - _Decal1VideoFitToScale: 1 - - _Decal2ApplyGlobalMaskBlendType: 0 - - _Decal2ApplyGlobalMaskIndex: 0 - - _Decal2ChannelSeparation: 0 - - _Decal2ChannelSeparationAngleStrength: 0 - - _Decal2ChannelSeparationEnable: 0 - - _Decal2ChannelSeparationHue: 0 - - _Decal2ChannelSeparationPremultiply: 0 - - _Decal2ChannelSeparationVertical: 0 - - _Decal2Depth: 0 - - _Decal2FaceMask: 0 - - _Decal2GlobalMask: 0 - - _Decal2GlobalMaskBlendType: 2 - - _Decal2HueAngleStrength: 0 - - _Decal2MaskChannel: 2 - - _Decal2OnlyVideo: 0 - - _Decal2OverrideAlphaMode: 0 - - _Decal2TPSMaskStrength: 1 - - _Decal2UseDecalAlpha: 0 - - _Decal2VideoAspectFix: 0 - - _Decal2VideoEmissionStrength: 0 - - _Decal2VideoEnabled: 0 - - _Decal2VideoFitToScale: 1 - - _Decal3ApplyGlobalMaskBlendType: 0 - - _Decal3ApplyGlobalMaskIndex: 0 - - _Decal3ChannelSeparation: 0 - - _Decal3ChannelSeparationAngleStrength: 0 - - _Decal3ChannelSeparationEnable: 0 - - _Decal3ChannelSeparationHue: 0 - - _Decal3ChannelSeparationPremultiply: 0 - - _Decal3ChannelSeparationVertical: 0 - - _Decal3Depth: 0 - - _Decal3FaceMask: 0 - - _Decal3GlobalMask: 0 - - _Decal3GlobalMaskBlendType: 2 - - _Decal3HueAngleStrength: 0 - - _Decal3MaskChannel: 3 - - _Decal3OnlyVideo: 0 - - _Decal3OverrideAlphaMode: 0 - - _Decal3TPSMaskStrength: 1 - - _Decal3UseDecalAlpha: 0 - - _Decal3VideoAspectFix: 0 - - _Decal3VideoEmissionStrength: 0 - - _Decal3VideoEnabled: 0 - - _Decal3VideoFitToScale: 1 - - _DecalBlendAlpha: 1 - - _DecalBlendAlpha1: 1 - - _DecalBlendAlpha2: 1 - - _DecalBlendAlpha3: 1 - - _DecalBlendType: 0 - - _DecalBlendType1: 0 - - _DecalBlendType2: 0 - - _DecalBlendType3: 0 - - _DecalColor1ThemeIndex: 0 - - _DecalColor2ThemeIndex: 0 - - _DecalColor3ThemeIndex: 0 - - _DecalColorThemeIndex: 0 - - _DecalEmissionStrength: 0 - - _DecalEmissionStrength1: 0 - - _DecalEmissionStrength2: 0 - - _DecalEmissionStrength3: 0 - - _DecalEnabled: 0 - - _DecalEnabled1: 0 - - _DecalEnabled2: 0 - - _DecalEnabled3: 0 - - _DecalHueShift: 0 - - _DecalHueShift1: 0 - - _DecalHueShift2: 0 - - _DecalHueShift3: 0 - - _DecalHueShiftColorSpace: 0 - - _DecalHueShiftColorSpace1: 0 - - _DecalHueShiftColorSpace2: 0 - - _DecalHueShiftColorSpace3: 0 - - _DecalHueShiftEnabled: 0 - - _DecalHueShiftEnabled1: 0 - - _DecalHueShiftEnabled2: 0 - - _DecalHueShiftEnabled3: 0 - - _DecalHueShiftSpeed: 0 - - _DecalHueShiftSpeed1: 0 - - _DecalHueShiftSpeed2: 0 - - _DecalHueShiftSpeed3: 0 - - _DecalMaskUV: 0 - - _DecalMirroredUVMode: 0 - - _DecalMirroredUVMode1: 0 - - _DecalMirroredUVMode2: 0 - - _DecalMirroredUVMode3: 0 - - _DecalOverrideAlpha: 0 - - _DecalOverrideAlpha1: 0 - - _DecalOverrideAlpha2: 0 - - _DecalOverrideAlpha3: 0 - - _DecalRotation: 0 - - _DecalRotation1: 0 - - _DecalRotation2: 0 - - _DecalRotation3: 0 - - _DecalRotationCTALBand0: 0 - - _DecalRotationCTALBand1: 0 - - _DecalRotationCTALBand2: 0 - - _DecalRotationCTALBand3: 0 - - _DecalRotationCTALSpeed0: 0 - - _DecalRotationCTALSpeed1: 0 - - _DecalRotationCTALSpeed2: 0 - - _DecalRotationCTALSpeed3: 0 - - _DecalRotationCTALType0: 0 - - _DecalRotationCTALType1: 0 - - _DecalRotationCTALType2: 0 - - _DecalRotationCTALType3: 0 - - _DecalRotationSpeed: 0 - - _DecalRotationSpeed1: 0 - - _DecalRotationSpeed2: 0 - - _DecalRotationSpeed3: 0 - - _DecalSymmetryMode: 0 - - _DecalSymmetryMode1: 0 - - _DecalSymmetryMode2: 0 - - _DecalSymmetryMode3: 0 - - _DecalTPSDepthMaskEnabled: 0 - - _DecalTexture1UV: 0 - - _DecalTexture2UV: 0 - - _DecalTexture3UV: 0 - - _DecalTextureUV: 0 - - _DecalTiled: 0 - - _DecalTiled1: 0 - - _DecalTiled2: 0 - - _DecalTiled3: 0 - - _DepthAlphaMaxDepth: 1 - - _DepthAlphaMaxValue: 0 - - _DepthAlphaMinDepth: 0 - - _DepthAlphaMinValue: 1 - - _DepthAlphaToggle: 0 - - _DepthBulgeFadeLength: 0.02 - - _DepthBulgeHeight: 0.02 - - _DepthBulgeMaskChannel: 0 - - _DepthBulgeMaskUV: 0 - - _DepthBulgeWarning: 0 - - _DepthColorBlendMode: 0 - - _DepthColorMaxDepth: 1 - - _DepthColorMaxValue: 0 - - _DepthColorMinDepth: 0 - - _DepthColorMinValue: 1 - - _DepthColorThemeIndex: 0 - - _DepthColorToggle: 0 - - _DepthEmissionStrength: 0 - - _DepthFXWarning: 0 - - _DepthMaskChannel: 0 - - _DepthMaskGlobalMask: 0 - - _DepthMaskGlobalMaskBlendType: 2 - - _DepthMaskUV: 0 - - _DepthRimAdd: 0 - - _DepthRimAdditiveLighting: 0 - - _DepthRimBrightness: 1 - - _DepthRimColorThemeIndex: 0 - - _DepthRimEmission: 0 - - _DepthRimHideInShadow: 0 - - _DepthRimMixBaseColor: 0 - - _DepthRimMixLightColor: 0 - - _DepthRimMultiply: 0 - - _DepthRimNormalToUse: 1 - - _DepthRimReplace: 0 - - _DepthRimSharpness: 0.2 - - _DepthRimType: 0 - - _DepthRimWidth: 0.2 - - _DepthTextureUV: 0 - - _DetailBrightness: 1 - - _DetailEnabled: 0 - - _DetailMaskStochastic: 0 - - _DetailMaskUV: 0 - - _DetailNormalGlobalMask: 0 - - _DetailNormalGlobalMaskBlendType: 2 - - _DetailNormalMapScale: 1 - - _DetailNormalMapStochastic: 0 - - _DetailNormalMapUV: 0 - - _DetailTexGlobalMask: 0 - - _DetailTexGlobalMaskBlendType: 2 - - _DetailTexIntensity: 1 - - _DetailTexStochastic: 0 - - _DetailTexUV: 0 - - _DetailTintThemeIndex: 0 - - _DisableDirectionalInAdd: 1 - - _DissolveAlpha: 0 - - _DissolveAlpha0: 0 - - _DissolveAlpha1: 0 - - _DissolveAlpha2: 0 - - _DissolveAlpha3: 0 - - _DissolveAlpha4: 0 - - _DissolveAlpha5: 0 - - _DissolveAlpha6: 0 - - _DissolveAlpha7: 0 - - _DissolveAlpha8: 0 - - _DissolveAlpha9: 0 - - _DissolveApplyGlobalMaskBlendType: 0 - - _DissolveApplyGlobalMaskIndex: 0 - - _DissolveDetailEdgeSmoothing: 0 - - _DissolveDetailNoiseUV: 0 - - _DissolveDetailStrength: 0.1 - - _DissolveEdgeColorThemeIndex: 0 - - _DissolveEdgeEmission: 0 - - _DissolveEdgeHardness: 0.5 - - _DissolveEdgeHueShift: 0 - - _DissolveEdgeHueShiftColorSpace: 0 - - _DissolveEdgeHueShiftEnabled: 0 - - _DissolveEdgeHueShiftSpeed: 0 - - _DissolveEdgeWidth: 0.025 - - _DissolveHueShift: 0 - - _DissolveHueShiftColorSpace: 0 - - _DissolveHueShiftEnabled: 0 - - _DissolveHueShiftSpeed: 0 - - _DissolveInverseApplyGlobalMaskBlendType: 0 - - _DissolveInverseApplyGlobalMaskIndex: 0 - - _DissolveInvertDetailNoise: 0 - - _DissolveInvertNoise: 0 - - _DissolveMaskGlobalMask: 0 - - _DissolveMaskGlobalMaskBlendType: 2 - - _DissolveMaskInvert: 0 - - _DissolveMaskUV: 0 - - _DissolveNoiseStrength: 0.1 - - _DissolveNoiseTextureUV: 0 - - _DissolveP2PClamp: 0 - - _DissolveP2PEdgeLength: 0.1 - - _DissolveP2PWorldLocal: 0 - - _DissolveTextureColorThemeIndex: 0 - - _DissolveToEmissionStrength: 0 - - _DissolveToTextureUV: 0 - - _DissolveType: 1 - - _DissolveUseVertexColors: 0 - - _DistanceFadeMode: 0 - - _DistanceFadeRimFresnelPower: 5 - - _DistortionFlowTexture1UV: 0 - - _DistortionFlowTextureUV: 0 - - _DistortionMaskChannel: 0 - - _DistortionMaskUV: 0 - - _DistortionStrength: 0.03 - - _DistortionStrength1: 0.01 - - _DistortionStrength1AudioLinkBand: 0 - - _DistortionStrengthAudioLinkBand: 0 - - _DistortionUvToDistort: 0 - - _DitherMaxValue: 255 - - _DstBlend: 0 - - _DstBlendAlpha: 10 - - _DstBlendAlphaFA: 1 - - _DstBlendFA: 1 - - _DummyProperty: 0 - - _Emission2ndBlend: 1 - - _Emission2ndBlendMode: 1 - - _Emission2ndFluorescence: 0 - - _Emission2ndGradSpeed: 1 - - _Emission2ndMainStrength: 0 - - _Emission2ndMap_UVMode: 0 - - _Emission2ndParallaxDepth: 0 - - _Emission2ndUseGrad: 0 - - _EmissionAL0Enabled: 0 - - _EmissionAL0MultipliersBand: 0 - - _EmissionAL0StrengthBand: 0 - - _EmissionAL1Enabled: 0 - - _EmissionAL1MultipliersBand: 0 - - _EmissionAL1StrengthBand: 0 - - _EmissionAL2Enabled: 0 - - _EmissionAL2MultipliersBand: 0 - - _EmissionAL2StrengthBand: 0 - - _EmissionAL3Enabled: 0 - - _EmissionAL3MultipliersBand: 0 - - _EmissionAL3StrengthBand: 0 - - _EmissionBaseColorAsMap: 0 - - _EmissionBaseColorAsMap1: 0 - - _EmissionBaseColorAsMap2: 0 - - _EmissionBaseColorAsMap3: 0 - - _EmissionBlend: 1 - - _EmissionBlendMode: 1 - - _EmissionBlinkingEnabled: 0 - - _EmissionBlinkingEnabled1: 0 - - _EmissionBlinkingEnabled2: 0 - - _EmissionBlinkingEnabled3: 0 - - _EmissionBlinkingOffset: 0 - - _EmissionBlinkingOffset1: 0 - - _EmissionBlinkingOffset2: 0 - - _EmissionBlinkingOffset3: 0 - - _EmissionCenterOutEnabled: 0 - - _EmissionCenterOutEnabled1: 0 - - _EmissionCenterOutEnabled2: 0 - - _EmissionCenterOutEnabled3: 0 - - _EmissionCenterOutSpeed: 5 - - _EmissionCenterOutSpeed1: 5 - - _EmissionCenterOutSpeed2: 5 - - _EmissionCenterOutSpeed3: 5 - - _EmissionColor1ThemeIndex: 0 - - _EmissionColor2ThemeIndex: 0 - - _EmissionColor3ThemeIndex: 0 - - _EmissionColorThemeIndex: 0 - - _EmissionFluorescence: 0 - - _EmissionGradSpeed: 1 - - _EmissionHueShift: 0 - - _EmissionHueShift1: 0 - - _EmissionHueShift2: 0 - - _EmissionHueShift3: 0 - - _EmissionHueShiftColorSpace: 0 - - _EmissionHueShiftColorSpace1: 0 - - _EmissionHueShiftColorSpace2: 0 - - _EmissionHueShiftColorSpace3: 0 - - _EmissionHueShiftEnabled: 0 - - _EmissionHueShiftEnabled1: 0 - - _EmissionHueShiftEnabled2: 0 - - _EmissionHueShiftEnabled3: 0 - - _EmissionHueShiftSpeed: 0 - - _EmissionHueShiftSpeed1: 0 - - _EmissionHueShiftSpeed2: 0 - - _EmissionHueShiftSpeed3: 0 - - _EmissionMainStrength: 0 - - _EmissionMap1UV: 0 - - _EmissionMap2UV: 0 - - _EmissionMap3UV: 0 - - _EmissionMapUV: 0 - - _EmissionMap_UVMode: 0 - - _EmissionMask0GlobalMask: 0 - - _EmissionMask0GlobalMaskBlendType: 2 - - _EmissionMask1Channel: 0 - - _EmissionMask1GlobalMask: 0 - - _EmissionMask1GlobalMaskBlendType: 2 - - _EmissionMask1UV: 0 - - _EmissionMask2Channel: 0 - - _EmissionMask2GlobalMask: 0 - - _EmissionMask2GlobalMaskBlendType: 2 - - _EmissionMask2UV: 0 - - _EmissionMask3Channel: 0 - - _EmissionMask3GlobalMask: 0 - - _EmissionMask3GlobalMaskBlendType: 2 - - _EmissionMask3UV: 0 - - _EmissionMaskChannel: 0 - - _EmissionMaskInvert: 0 - - _EmissionMaskInvert1: 0 - - _EmissionMaskInvert2: 0 - - _EmissionMaskInvert3: 0 - - _EmissionMaskUV: 0 - - _EmissionParallaxDepth: 0 - - _EmissionReplace0: 0 - - _EmissionReplace1: 0 - - _EmissionReplace2: 0 - - _EmissionReplace3: 0 - - _EmissionSaturation: 0 - - _EmissionSaturation1: 0 - - _EmissionSaturation2: 0 - - _EmissionSaturation3: 0 - - _EmissionScrollingOffset: 0 - - _EmissionScrollingOffset1: 0 - - _EmissionScrollingOffset2: 0 - - _EmissionScrollingOffset3: 0 - - _EmissionScrollingUseCurve: 0 - - _EmissionScrollingUseCurve1: 0 - - _EmissionScrollingUseCurve2: 0 - - _EmissionScrollingUseCurve3: 0 - - _EmissionScrollingVertexColor: 0 - - _EmissionScrollingVertexColor1: 0 - - _EmissionScrollingVertexColor2: 0 - - _EmissionScrollingVertexColor3: 0 - - _EmissionStrength: 0 - - _EmissionStrength1: 0 - - _EmissionStrength2: 0 - - _EmissionStrength3: 0 - - _EmissionUseGrad: 0 - - _EmissiveBlink_Max: 1 - - _EmissiveBlink_Max1: 1 - - _EmissiveBlink_Max2: 1 - - _EmissiveBlink_Max3: 1 - - _EmissiveBlink_Min: 0 - - _EmissiveBlink_Min1: 0 - - _EmissiveBlink_Min2: 0 - - _EmissiveBlink_Min3: 0 - - _EmissiveBlink_Velocity: 4 - - _EmissiveBlink_Velocity1: 4 - - _EmissiveBlink_Velocity2: 4 - - _EmissiveBlink_Velocity3: 4 - - _EmissiveScroll_Interval: 20 - - _EmissiveScroll_Interval1: 20 - - _EmissiveScroll_Interval2: 20 - - _EmissiveScroll_Interval3: 20 - - _EmissiveScroll_Velocity: 10 - - _EmissiveScroll_Velocity1: 10 - - _EmissiveScroll_Velocity2: 10 - - _EmissiveScroll_Velocity3: 10 - - _EmissiveScroll_Width: 10 - - _EmissiveScroll_Width1: 10 - - _EmissiveScroll_Width2: 10 - - _EmissiveScroll_Width3: 10 - - _EnableALDecal: 0 - - _EnableAniso: 0 - - _EnableAudioLink: 0 - - _EnableDepthBulge: 0 - - _EnableDepthRimLighting: 0 - - _EnableDissolve: 0 - - _EnableDissolveAudioLink: 0 - - _EnableDistortion: 0 - - _EnableDistortionAudioLink: 0 - - _EnableEmission: 0 - - _EnableEmission1: 0 - - _EnableEmission2: 0 - - _EnableEmission3: 0 - - _EnableEnvironmentalRim: 0 - - _EnableFlipbook: 0 - - _EnableGITDEmission: 0 - - _EnableGITDEmission1: 0 - - _EnableGITDEmission2: 0 - - _EnableGITDEmission3: 0 - - _EnableMirrorOptions: 0 - - _EnableOutlines: 0 - - _EnablePathing: 0 - - _EnableRim2Lighting: 0 - - _EnableRimLighting: 0 - - _EnableTouchGlow: 0 - - _EnableUDIMDiscardOptions: 0 - - _EnableVolumeColor: 0 - - _FFBFOutlineStencilHelp0: 0 - - _FFBFOutlineStencilHelp1: 0 - - _FFBFStencilHelp0: 0 - - _FFBFStencilHelp1: 0 - - _FXProximityColor: 0 - - _FXProximityColorBackFace: 0 - - _FXProximityColorMaxColorThemeIndex: 0 - - _FXProximityColorMaxDistance: 1 - - _FXProximityColorMinColorThemeIndex: 0 - - _FXProximityColorMinDistance: 0 - - _FXProximityColorType: 1 - - _FlipBackfaceNormals: 1 - - _FlipNormal: 0 - - _FlipbookAlphaControlsFinalAlpha: 0 - - _FlipbookBlendType: 0 - - _FlipbookChronoType: 0 - - _FlipbookChronotensityBand: 0 - - _FlipbookChronotensityEnabled: 0 - - _FlipbookChronotensitySpeed: 0 - - _FlipbookColorReplaces: 0 - - _FlipbookColorThemeIndex: 0 - - _FlipbookCrossfadeEnabled: 0 - - _FlipbookCurrentFrame: 0 - - _FlipbookEmissionStrength: 0 - - _FlipbookEndFrame: 0 - - _FlipbookFPS: 30 - - _FlipbookFrameOffset: 0 - - _FlipbookHueShift: 0 - - _FlipbookHueShiftColorSpace: 0 - - _FlipbookHueShiftEnabled: 0 - - _FlipbookHueShiftSpeed: 0 - - _FlipbookIntensityControlsAlpha: 0 - - _FlipbookManualFrameControl: 0 - - _FlipbookMaskChannel: 0 - - _FlipbookMaskGlobalMask: 0 - - _FlipbookMaskGlobalMaskBlendType: 2 - - _FlipbookMaskUV: 0 - - _FlipbookReplace: 1 - - _FlipbookRotation: 0 - - _FlipbookRotationSpeed: 0 - - _FlipbookStartAndEnd: 0 - - _FlipbookStartFrame: 0 - - _FlipbookTexArrayUV: 0 - - _FlipbookTiled: 0 - - _FogHeightOffset: 0 - - _FogHeightScale: 1 - - _FogScale: 1 - - _FogStartOffset: 0 - - _ForceFlatRampedLightmap: 1 - - _ForgotToLockMaterial: 1 - - _GITDEMaxEmissionMultiplier: 0 - - _GITDEMaxEmissionMultiplier1: 0 - - _GITDEMaxEmissionMultiplier2: 0 - - _GITDEMaxEmissionMultiplier3: 0 - - _GITDEMaxLight: 1 - - _GITDEMaxLight1: 1 - - _GITDEMaxLight2: 1 - - _GITDEMaxLight3: 1 - - _GITDEMinEmissionMultiplier: 1 - - _GITDEMinEmissionMultiplier1: 1 - - _GITDEMinEmissionMultiplier2: 1 - - _GITDEMinEmissionMultiplier3: 1 - - _GITDEMinLight: 0 - - _GITDEMinLight1: 0 - - _GITDEMinLight2: 0 - - _GITDEMinLight3: 0 - - _GITDEWorldOrMesh: 0 - - _GITDEWorldOrMesh1: 0 - - _GITDEWorldOrMesh2: 0 - - _GITDEWorldOrMesh3: 0 - - _GSAAStrength: 0 - - _GlitteHueShiftColorSpace: 0 - - _GlitterALAlphaAddBand: 0 - - _GlitterALChronoRotationSpeed: 0 - - _GlitterALChronoRotationSpeedBand: 0 - - _GlitterALChronoRotationSpeedType: 0 - - _GlitterALChronoSparkleSpeed: 0 - - _GlitterALChronoSparkleSpeedBand: 0 - - _GlitterALChronoSparkleSpeedType: 0 - - _GlitterALEnabled: 0 - - _GlitterALMaxBrightnessBand: 0 - - _GlitterALSizeAddBand: 0 - - _GlitterAngleRandomize: 0 - - _GlitterAngleRange: 90 - - _GlitterApplyShape: 0 - - _GlitterApplyTransparency: 1 - - _GlitterBackfaceMask: 0 - - _GlitterBias: 0.8 - - _GlitterBlendType: 0 - - _GlitterBrightness: 3 - - _GlitterCenterSize: 0.08 - - _GlitterColorMapUV: 0 - - _GlitterColorTex_UVMode: 0 - - _GlitterColorThemeIndex: 0 - - _GlitterContrast: 300 - - _GlitterEnable: 0 - - _GlitterEnableLighting: 1 - - _GlitterFrequency: 300 - - _GlitterHideInShadow: 0 - - _GlitterHueShift: 0 - - _GlitterHueShiftEnabled: 0 - - _GlitterHueShiftSpeed: 0 - - _GlitterJaggyFix: 0 - - _GlitterLayers: 2 - - _GlitterMainStrength: 0 - - _GlitterMaskChannel: 0 - - _GlitterMaskGlobalMask: 0 - - _GlitterMaskGlobalMaskBlendType: 2 - - _GlitterMaskInvert: 0 - - _GlitterMaskUV: 0 - - _GlitterMinBrightness: 0 - - _GlitterMode: 0 - - _GlitterNormalStrength: 1 - - _GlitterPostContrast: 1 - - _GlitterRandomColors: 0 - - _GlitterRandomLocation: 1 - - _GlitterRandomRotation: 0 - - _GlitterRandomSize: 0 - - _GlitterScaleRandomize: 0 - - _GlitterScaleWithLighting: 0 - - _GlitterSensitivity: 0.25 - - _GlitterShadowMask: 0 - - _GlitterShape: 0 - - _GlitterSize: 0.3 - - _GlitterSpeed: 10 - - _GlitterTextureRotation: 0 - - _GlitterUV: 0 - - _GlitterUVMode: 0 - - _GlitterUseNormals: 0 - - _GlitterUseSurfaceColor: 0 - - _GlitterVRParallaxStrength: 0 - - _GlobalMaskBackface_0: 0 - - _GlobalMaskBackface_1: 0 - - _GlobalMaskBackface_10: 0 - - _GlobalMaskBackface_11: 0 - - _GlobalMaskBackface_12: 0 - - _GlobalMaskBackface_13: 0 - - _GlobalMaskBackface_14: 0 - - _GlobalMaskBackface_15: 0 - - _GlobalMaskBackface_2: 0 - - _GlobalMaskBackface_3: 0 - - _GlobalMaskBackface_4: 0 - - _GlobalMaskBackface_5: 0 - - _GlobalMaskBackface_6: 0 - - _GlobalMaskBackface_7: 0 - - _GlobalMaskBackface_8: 0 - - _GlobalMaskBackface_9: 0 - - _GlobalMaskCamera_0: 0 - - _GlobalMaskCamera_1: 0 - - _GlobalMaskCamera_10: 0 - - _GlobalMaskCamera_11: 0 - - _GlobalMaskCamera_12: 0 - - _GlobalMaskCamera_13: 0 - - _GlobalMaskCamera_14: 0 - - _GlobalMaskCamera_15: 0 - - _GlobalMaskCamera_2: 0 - - _GlobalMaskCamera_3: 0 - - _GlobalMaskCamera_4: 0 - - _GlobalMaskCamera_5: 0 - - _GlobalMaskCamera_6: 0 - - _GlobalMaskCamera_7: 0 - - _GlobalMaskCamera_8: 0 - - _GlobalMaskCamera_9: 0 - - _GlobalMaskDistanceBlendType_0: 0 - - _GlobalMaskDistanceBlendType_1: 0 - - _GlobalMaskDistanceBlendType_10: 0 - - _GlobalMaskDistanceBlendType_11: 0 - - _GlobalMaskDistanceBlendType_12: 0 - - _GlobalMaskDistanceBlendType_13: 0 - - _GlobalMaskDistanceBlendType_14: 0 - - _GlobalMaskDistanceBlendType_15: 0 - - _GlobalMaskDistanceBlendType_2: 0 - - _GlobalMaskDistanceBlendType_3: 0 - - _GlobalMaskDistanceBlendType_4: 0 - - _GlobalMaskDistanceBlendType_5: 0 - - _GlobalMaskDistanceBlendType_6: 0 - - _GlobalMaskDistanceBlendType_7: 0 - - _GlobalMaskDistanceBlendType_8: 0 - - _GlobalMaskDistanceBlendType_9: 0 - - _GlobalMaskDistanceEnable_0: 0 - - _GlobalMaskDistanceEnable_1: 0 - - _GlobalMaskDistanceEnable_10: 0 - - _GlobalMaskDistanceEnable_11: 0 - - _GlobalMaskDistanceEnable_12: 0 - - _GlobalMaskDistanceEnable_13: 0 - - _GlobalMaskDistanceEnable_14: 0 - - _GlobalMaskDistanceEnable_15: 0 - - _GlobalMaskDistanceEnable_2: 0 - - _GlobalMaskDistanceEnable_3: 0 - - _GlobalMaskDistanceEnable_4: 0 - - _GlobalMaskDistanceEnable_5: 0 - - _GlobalMaskDistanceEnable_6: 0 - - _GlobalMaskDistanceEnable_7: 0 - - _GlobalMaskDistanceEnable_8: 0 - - _GlobalMaskDistanceEnable_9: 0 - - _GlobalMaskDistanceMaxAlpha_0: 1 - - _GlobalMaskDistanceMaxAlpha_1: 1 - - _GlobalMaskDistanceMaxAlpha_10: 1 - - _GlobalMaskDistanceMaxAlpha_11: 1 - - _GlobalMaskDistanceMaxAlpha_12: 1 - - _GlobalMaskDistanceMaxAlpha_13: 1 - - _GlobalMaskDistanceMaxAlpha_14: 1 - - _GlobalMaskDistanceMaxAlpha_15: 1 - - _GlobalMaskDistanceMaxAlpha_2: 1 - - _GlobalMaskDistanceMaxAlpha_3: 1 - - _GlobalMaskDistanceMaxAlpha_4: 1 - - _GlobalMaskDistanceMaxAlpha_5: 1 - - _GlobalMaskDistanceMaxAlpha_6: 1 - - _GlobalMaskDistanceMaxAlpha_7: 1 - - _GlobalMaskDistanceMaxAlpha_8: 1 - - _GlobalMaskDistanceMaxAlpha_9: 1 - - _GlobalMaskDistanceMax_0: 2 - - _GlobalMaskDistanceMax_1: 2 - - _GlobalMaskDistanceMax_10: 2 - - _GlobalMaskDistanceMax_11: 2 - - _GlobalMaskDistanceMax_12: 2 - - _GlobalMaskDistanceMax_13: 2 - - _GlobalMaskDistanceMax_14: 2 - - _GlobalMaskDistanceMax_15: 2 - - _GlobalMaskDistanceMax_2: 2 - - _GlobalMaskDistanceMax_3: 2 - - _GlobalMaskDistanceMax_4: 2 - - _GlobalMaskDistanceMax_5: 2 - - _GlobalMaskDistanceMax_6: 2 - - _GlobalMaskDistanceMax_7: 2 - - _GlobalMaskDistanceMax_8: 2 - - _GlobalMaskDistanceMax_9: 2 - - _GlobalMaskDistanceMinAlpha_0: 0 - - _GlobalMaskDistanceMinAlpha_1: 0 - - _GlobalMaskDistanceMinAlpha_10: 0 - - _GlobalMaskDistanceMinAlpha_11: 0 - - _GlobalMaskDistanceMinAlpha_12: 0 - - _GlobalMaskDistanceMinAlpha_13: 0 - - _GlobalMaskDistanceMinAlpha_14: 0 - - _GlobalMaskDistanceMinAlpha_15: 0 - - _GlobalMaskDistanceMinAlpha_2: 0 - - _GlobalMaskDistanceMinAlpha_3: 0 - - _GlobalMaskDistanceMinAlpha_4: 0 - - _GlobalMaskDistanceMinAlpha_5: 0 - - _GlobalMaskDistanceMinAlpha_6: 0 - - _GlobalMaskDistanceMinAlpha_7: 0 - - _GlobalMaskDistanceMinAlpha_8: 0 - - _GlobalMaskDistanceMinAlpha_9: 0 - - _GlobalMaskDistanceMin_0: 1 - - _GlobalMaskDistanceMin_1: 1 - - _GlobalMaskDistanceMin_10: 1 - - _GlobalMaskDistanceMin_11: 1 - - _GlobalMaskDistanceMin_12: 1 - - _GlobalMaskDistanceMin_13: 1 - - _GlobalMaskDistanceMin_14: 1 - - _GlobalMaskDistanceMin_15: 1 - - _GlobalMaskDistanceMin_2: 1 - - _GlobalMaskDistanceMin_3: 1 - - _GlobalMaskDistanceMin_4: 1 - - _GlobalMaskDistanceMin_5: 1 - - _GlobalMaskDistanceMin_6: 1 - - _GlobalMaskDistanceMin_7: 1 - - _GlobalMaskDistanceMin_8: 1 - - _GlobalMaskDistanceMin_9: 1 - - _GlobalMaskDistanceType_0: 1 - - _GlobalMaskDistanceType_1: 1 - - _GlobalMaskDistanceType_10: 1 - - _GlobalMaskDistanceType_11: 1 - - _GlobalMaskDistanceType_12: 1 - - _GlobalMaskDistanceType_13: 1 - - _GlobalMaskDistanceType_14: 1 - - _GlobalMaskDistanceType_15: 1 - - _GlobalMaskDistanceType_2: 1 - - _GlobalMaskDistanceType_3: 1 - - _GlobalMaskDistanceType_4: 1 - - _GlobalMaskDistanceType_5: 1 - - _GlobalMaskDistanceType_6: 1 - - _GlobalMaskDistanceType_7: 1 - - _GlobalMaskDistanceType_8: 1 - - _GlobalMaskDistanceType_9: 1 - - _GlobalMaskMirrorVisibilityMode: 1 - - _GlobalMaskMirror_0: 0 - - _GlobalMaskMirror_1: 0 - - _GlobalMaskMirror_10: 0 - - _GlobalMaskMirror_11: 0 - - _GlobalMaskMirror_12: 0 - - _GlobalMaskMirror_13: 0 - - _GlobalMaskMirror_14: 0 - - _GlobalMaskMirror_15: 0 - - _GlobalMaskMirror_2: 0 - - _GlobalMaskMirror_3: 0 - - _GlobalMaskMirror_4: 0 - - _GlobalMaskMirror_5: 0 - - _GlobalMaskMirror_6: 0 - - _GlobalMaskMirror_7: 0 - - _GlobalMaskMirror_8: 0 - - _GlobalMaskMirror_9: 0 - - _GlobalMaskModifiersBackfaceEnable: 0 - - _GlobalMaskModifiersCameraEnable: 0 - - _GlobalMaskModifiersCameraInfo: 0 - - _GlobalMaskModifiersDistanceEnable: 0 - - _GlobalMaskModifiersMirrorEnable: 0 - - _GlobalMaskOptionsEnable: 0 - - _GlobalMaskOptionsType: 0 - - _GlobalMaskSlider_0: 0 - - _GlobalMaskSlider_1: 0 - - _GlobalMaskSlider_10: 0 - - _GlobalMaskSlider_11: 0 - - _GlobalMaskSlider_12: 0 - - _GlobalMaskSlider_13: 0 - - _GlobalMaskSlider_14: 0 - - _GlobalMaskSlider_15: 0 - - _GlobalMaskSlider_2: 0 - - _GlobalMaskSlider_3: 0 - - _GlobalMaskSlider_4: 0 - - _GlobalMaskSlider_5: 0 - - _GlobalMaskSlider_6: 0 - - _GlobalMaskSlider_7: 0 - - _GlobalMaskSlider_8: 0 - - _GlobalMaskSlider_9: 0 - - _GlobalMaskTexture0Split: 0 - - _GlobalMaskTexture0UV: 0 - - _GlobalMaskTexture1Split: 0 - - _GlobalMaskTexture1UV: 0 - - _GlobalMaskTexture2Split: 0 - - _GlobalMaskTexture2UV: 0 - - _GlobalMaskTexture3Split: 0 - - _GlobalMaskTexture3UV: 0 - - _GlobalMaskTexturesEnable: 0 - - _GlobalMaskToggleOff_0: 0 - - _GlobalMaskToggleOff_1: 0 - - _GlobalMaskToggleOff_10: 0 - - _GlobalMaskToggleOff_11: 0 - - _GlobalMaskToggleOff_12: 0 - - _GlobalMaskToggleOff_13: 0 - - _GlobalMaskToggleOff_14: 0 - - _GlobalMaskToggleOff_15: 0 - - _GlobalMaskToggleOff_2: 0 - - _GlobalMaskToggleOff_3: 0 - - _GlobalMaskToggleOff_4: 0 - - _GlobalMaskToggleOff_5: 0 - - _GlobalMaskToggleOff_6: 0 - - _GlobalMaskToggleOff_7: 0 - - _GlobalMaskToggleOff_8: 0 - - _GlobalMaskToggleOff_9: 0 - - _GlobalMaskToggleOn_0: 0 - - _GlobalMaskToggleOn_1: 0 - - _GlobalMaskToggleOn_10: 0 - - _GlobalMaskToggleOn_11: 0 - - _GlobalMaskToggleOn_12: 0 - - _GlobalMaskToggleOn_13: 0 - - _GlobalMaskToggleOn_14: 0 - - _GlobalMaskToggleOn_15: 0 - - _GlobalMaskToggleOn_2: 0 - - _GlobalMaskToggleOn_3: 0 - - _GlobalMaskToggleOn_4: 0 - - _GlobalMaskToggleOn_5: 0 - - _GlobalMaskToggleOn_6: 0 - - _GlobalMaskToggleOn_7: 0 - - _GlobalMaskToggleOn_8: 0 - - _GlobalMaskToggleOn_9: 0 - - _GlobalMaskVertexColorAlpha: 0 - - _GlobalMaskVertexColorAlphaBlendType: 2 - - _GlobalMaskVertexColorBlue: 0 - - _GlobalMaskVertexColorBlueBlendType: 2 - - _GlobalMaskVertexColorGreen: 0 - - _GlobalMaskVertexColorGreenBlendType: 2 - - _GlobalMaskVertexColorLinearSpace: 1 - - _GlobalMaskVertexColorRed: 0 - - _GlobalMaskVertexColorRedBlendType: 2 - - _GlobalThemeHue0: 0 - - _GlobalThemeHue1: 0 - - _GlobalThemeHue2: 0 - - _GlobalThemeHue3: 0 - - _GlobalThemeHueSpeed0: 0 - - _GlobalThemeHueSpeed1: 0 - - _GlobalThemeHueSpeed2: 0 - - _GlobalThemeHueSpeed3: 0 - - _GlobalThemeSaturation0: 0 - - _GlobalThemeSaturation1: 0 - - _GlobalThemeSaturation2: 0 - - _GlobalThemeSaturation3: 0 - - _GlobalThemeValue0: 0 - - _GlobalThemeValue1: 0 - - _GlobalThemeValue2: 0 - - _GlobalThemeValue3: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GreenAlphaAdd: 0 - - _GreenColorThemeIndex: 0 - - _GreenTextureStochastic: 0 - - _GreenTextureUV: 0 - - _HeightMapUV: 0 - - _HeightStepsMax: 128 - - _HeightStepsMin: 10 - - _HeightStrength: 0.4247461 - - _HeightmaskChannel: 0 - - _HeightmaskInvert: 0 - - _HeightmaskUV: 0 - - _HighColorThemeIndex: 0 - - _HighColor_Power: 0.2 - - _HighColor_TexUV: 0 - - _IDMask1: 0 - - _IDMask2: 0 - - _IDMask3: 0 - - _IDMask4: 0 - - _IDMask5: 0 - - _IDMask6: 0 - - _IDMask7: 0 - - _IDMask8: 0 - - _IDMaskCompile: 0 - - _IDMaskControlsDissolve: 0 - - _IDMaskFrom: 8 - - _IDMaskIndex1: 0 - - _IDMaskIndex2: 0 - - _IDMaskIndex3: 0 - - _IDMaskIndex4: 0 - - _IDMaskIndex5: 0 - - _IDMaskIndex6: 0 - - _IDMaskIndex7: 0 - - _IDMaskIndex8: 0 - - _IDMaskIsBitmap: 0 - - _IDMaskPrior1: 0 - - _IDMaskPrior2: 0 - - _IDMaskPrior3: 0 - - _IDMaskPrior4: 0 - - _IDMaskPrior5: 0 - - _IDMaskPrior6: 0 - - _IDMaskPrior7: 0 - - _IDMaskPrior8: 0 - - _IgnoreCastedShadows: 0 - - _IgnoreEncryption: 0 - - _IgnoreFog: 0 - - _Invisible: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_LightColor_Ap_Rim2Light: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Rim2Light: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapToRim2Light: 1 - - _Is_NormalMapToRimLight: 1 - - _Is_SpecularToHighColor: 0 - - _LTCGIEnabled: 0 - - _LTCGI_AnimToggle: 1 - - _LTCGI_Attribution: 0 - - _LTCGI_DiffuseColorThemeIndex: 0 - - _LTCGI_Metallic: 0 - - _LTCGI_Smoothness: 0 - - _LTCGI_SpecularColorThemeIndex: 0 - - _LTCGI_UsePBR: 1 - - _Layer1Strength: 1 - - _Layer2Size: 0 - - _Layer2Strength: 0 - - _LightDataAOGlobalMaskBlendTypeR: 2 - - _LightDataAOGlobalMaskR: 0 - - _LightDataAOStrengthA: 0 - - _LightDataAOStrengthB: 0 - - _LightDataAOStrengthG: 0 - - _LightDataAOStrengthR: 1 - - _LightDataDebugEnabled: 0 - - _LightDataDetailShadowGlobalMaskBlendTypeR: 2 - - _LightDataDetailShadowGlobalMaskR: 0 - - _LightDataShadowMaskGlobalMaskBlendTypeR: 2 - - _LightDataShadowMaskGlobalMaskR: 0 - - _LightDirection_MaskOn: 0 - - _LightDirection_MaskOn2: 0 - - _LightMaxLimit: 1 - - _LightMinLimit: 0.05 - - _LightingAOMapsUV: 0 - - _LightingAddDetailShadowStrengthA: 0 - - _LightingAddDetailShadowStrengthB: 0 - - _LightingAddDetailShadowStrengthG: 0 - - _LightingAddDetailShadowStrengthR: 1 - - _LightingAdditiveCastedShadows: 1 - - _LightingAdditiveEnable: 1 - - _LightingAdditiveGradientEnd: 0.5 - - _LightingAdditiveGradientStart: 0 - - _LightingAdditiveLimit: 1 - - _LightingAdditiveLimited: 1 - - _LightingAdditiveMonochromatic: 0 - - _LightingAdditivePassthrough: 0.5 - - _LightingAdditiveType: 3 - - _LightingCap: 1 - - _LightingCapEnabled: 1 - - _LightingCastedShadows: 0 - - _LightingColorMode: 0 - - _LightingDebugVisualize: 0 - - _LightingDetailShadowMapsUV: 0 - - _LightingDetailShadowStrengthA: 0 - - _LightingDetailShadowStrengthB: 0 - - _LightingDetailShadowStrengthG: 0 - - _LightingDetailShadowStrengthR: 1 - - _LightingDirectionMode: 0 - - _LightingForceColorEnabled: 0 - - _LightingForcedColorThemeIndex: 0 - - _LightingGradientEnd: 0.5 - - _LightingGradientStart: 0 - - _LightingIgnoreAmbientColor: 1 - - _LightingIndirectUsesNormals: 0 - - _LightingMapMode: 0 - - _LightingMinLightBrightness: 0 - - _LightingMirrorVertexLightingEnabled: 1 - - _LightingMode: 5 - - _LightingMonochromatic: 0 - - _LightingMulitlayerNonLinear: 1 - - _LightingShadowMaskStrengthA: 0 - - _LightingShadowMaskStrengthB: 0 - - _LightingShadowMaskStrengthG: 0 - - _LightingShadowMaskStrengthR: 1 - - _LightingShadowMasksUV: 0 - - _LightingVertexLightingEnabled: 1 - - _LightingViewDirOffsetPitch: 0 - - _LightingViewDirOffsetYaw: 0 - - _LightingWrappedNormalization: 0 - - _LightingWrappedWrap: 0 - - _LineColorThemeIndex: 0 - - _LineWidth: 1 - - _Main2ndDissolveNoiseStrength: 0.1 - - _Main2ndEnableLighting: 1 - - _Main2ndTexAlphaMode: 0 - - _Main2ndTexAngle: 0 - - _Main2ndTexBlendMode: 0 - - _Main2ndTexIsDecal: 0 - - _Main2ndTexIsLeftOnly: 0 - - _Main2ndTexIsMSDF: 0 - - _Main2ndTexIsRightOnly: 0 - - _Main2ndTexShouldCopy: 0 - - _Main2ndTexShouldFlipCopy: 0 - - _Main2ndTexShouldFlipMirror: 0 - - _Main2ndTex_Cull: 0 - - _Main2ndTex_UVMode: 0 - - _Main3rdDissolveNoiseStrength: 0.1 - - _Main3rdEnableLighting: 1 - - _Main3rdTexAlphaMode: 0 - - _Main3rdTexAngle: 0 - - _Main3rdTexBlendMode: 0 - - _Main3rdTexIsDecal: 0 - - _Main3rdTexIsLeftOnly: 0 - - _Main3rdTexIsMSDF: 0 - - _Main3rdTexIsRightOnly: 0 - - _Main3rdTexShouldCopy: 0 - - _Main3rdTexShouldFlipCopy: 0 - - _Main3rdTexShouldFlipMirror: 0 - - _Main3rdTex_Cull: 0 - - _Main3rdTex_UVMode: 0 - - _MainALHueShiftBand: 0 - - _MainALHueShiftCTIndex: 0 - - _MainAlphaMaskMode: 2 - - _MainBrightness: 0 - - _MainBrightnessGlobalMask: 0 - - _MainBrightnessGlobalMaskBlendType: 2 - - _MainColorAdjustTextureUV: 0 - - _MainColorAdjustToggle: 0 - - _MainGradationStrength: 0 - - _MainHueALCTEnabled: 0 - - _MainHueALMotionSpeed: 1 - - _MainHueGlobalMask: 0 - - _MainHueGlobalMaskBlendType: 2 - - _MainHueShift: 0 - - _MainHueShiftColorSpace: 0 - - _MainHueShiftReplace: 1 - - _MainHueShiftSpeed: 0 - - _MainHueShiftToggle: 0 - - _MainPixelMode: 0 - - _MainSaturationGlobalMask: 0 - - _MainSaturationGlobalMaskBlendType: 2 - - _MainTexStochastic: 0 - - _MainTexUV: 0 - - _MainUseVertexColorAlpha: 0 - - _MainVertexColoring: 0 - - _MainVertexColoringEnabled: 0 - - _MainVertexColoringLinearSpace: 1 - - _MatCap2ndApplyTransparency: 1 - - _MatCap2ndBackfaceMask: 0 - - _MatCap2ndBlend: 1 - - _MatCap2ndBlendMode: 3 - - _MatCap2ndBumpScale: 1 - - _MatCap2ndCustomNormal: 0 - - _MatCap2ndEnableLighting: 1 - - _MatCap2ndLod: 0 - - _MatCap2ndMainStrength: 0 - - _MatCap2ndNormalStrength: 1 - - _MatCap2ndPerspective: 1 - - _MatCap2ndShadowMask: 0 - - _MatCap2ndVRParallaxStrength: 1 - - _MatCap2ndZRotCancel: 1 - - _MatCapApplyTransparency: 1 - - _MatCapBackfaceMask: 0 - - _MatCapBlend: 1 - - _MatCapBlendMode: 1 - - _MatCapBumpScale: 1 - - _MatCapCustomNormal: 0 - - _MatCapEnableLighting: 1 - - _MatCapLod: 0 - - _MatCapMainStrength: 0 - - _MatCapNormalStrength: 1 - - _MatCapPerspective: 1 - - _MatCapShadowMask: 0 - - _MatCapVRParallaxStrength: 1 - - _MatCapZRotCancel: 1 - - _Matcap0ALAlphaAddBand: 0 - - _Matcap0ALChronoPanBand: 0 - - _Matcap0ALChronoPanSpeed: 0 - - _Matcap0ALChronoPanType: 0 - - _Matcap0ALEmissionAddBand: 0 - - _Matcap0ALEnabled: 0 - - _Matcap0ALIntensityAddBand: 0 - - _Matcap0CustomNormal: 0 - - _Matcap0NormalMapScale: 1 - - _Matcap0NormalMapUV: 0 - - _Matcap1ALAlphaAddBand: 0 - - _Matcap1ALChronoPanBand: 0 - - _Matcap1ALChronoPanSpeed: 0 - - _Matcap1ALChronoPanType: 0 - - _Matcap1ALEmissionAddBand: 0 - - _Matcap1ALEnabled: 0 - - _Matcap1ALIntensityAddBand: 0 - - _Matcap1CustomNormal: 0 - - _Matcap1NormalMapScale: 1 - - _Matcap1NormalMapUV: 0 - - _Matcap2ALAlphaAddBand: 0 - - _Matcap2ALChronoPanBand: 0 - - _Matcap2ALChronoPanSpeed: 0 - - _Matcap2ALChronoPanType: 0 - - _Matcap2ALEmissionAddBand: 0 - - _Matcap2ALEnabled: 0 - - _Matcap2ALIntensityAddBand: 0 - - _Matcap2Add: 0 - - _Matcap2AddToLight: 0 - - _Matcap2AlphaOverride: 0 - - _Matcap2ApplyToAlphaBlendType: 0 - - _Matcap2ApplyToAlphaBlending: 1 - - _Matcap2ApplyToAlphaEnabled: 0 - - _Matcap2ApplyToAlphaSourceBlend: 0 - - _Matcap2BaseColorMix: 0 - - _Matcap2Border: 0.43 - - _Matcap2ColorThemeIndex: 0 - - _Matcap2CustomNormal: 0 - - _Matcap2EmissionStrength: 0 - - _Matcap2Enable: 0 - - _Matcap2HueShift: 0 - - _Matcap2HueShiftColorSpace: 0 - - _Matcap2HueShiftEnabled: 0 - - _Matcap2HueShiftSpeed: 0 - - _Matcap2Intensity: 1 - - _Matcap2LightMask: 0 - - _Matcap2MaskChannel: 0 - - _Matcap2MaskGlobalMask: 0 - - _Matcap2MaskGlobalMaskBlendType: 2 - - _Matcap2MaskInvert: 0 - - _Matcap2MaskSmoothnessApply: 0 - - _Matcap2MaskSmoothnessChannel: 3 - - _Matcap2MaskUV: 0 - - _Matcap2Mixed: 0 - - _Matcap2Multiply: 0 - - _Matcap2Normal: 1 - - _Matcap2NormalMapScale: 1 - - _Matcap2NormalMapUV: 0 - - _Matcap2Replace: 0 - - _Matcap2Rotation: 0 - - _Matcap2Screen: 0 - - _Matcap2Smoothness: 1 - - _Matcap2SmoothnessEnabled: 0 - - _Matcap2TPSDepthEnabled: 0 - - _Matcap2TPSMaskStrength: 1 - - _Matcap2UVMode: 1 - - _Matcap2UVToBlend: 1 - - _Matcap3ALAlphaAddBand: 0 - - _Matcap3ALChronoPanBand: 0 - - _Matcap3ALChronoPanSpeed: 0 - - _Matcap3ALChronoPanType: 0 - - _Matcap3ALEmissionAddBand: 0 - - _Matcap3ALEnabled: 0 - - _Matcap3ALIntensityAddBand: 0 - - _Matcap3Add: 0 - - _Matcap3AddToLight: 0 - - _Matcap3AlphaOverride: 0 - - _Matcap3ApplyToAlphaBlendType: 0 - - _Matcap3ApplyToAlphaBlending: 1 - - _Matcap3ApplyToAlphaEnabled: 0 - - _Matcap3ApplyToAlphaSourceBlend: 0 - - _Matcap3BaseColorMix: 0 - - _Matcap3Border: 0.43 - - _Matcap3ColorThemeIndex: 0 - - _Matcap3CustomNormal: 0 - - _Matcap3EmissionStrength: 0 - - _Matcap3Enable: 0 - - _Matcap3HueShift: 0 - - _Matcap3HueShiftColorSpace: 0 - - _Matcap3HueShiftEnabled: 0 - - _Matcap3HueShiftSpeed: 0 - - _Matcap3Intensity: 1 - - _Matcap3LightMask: 0 - - _Matcap3MaskChannel: 0 - - _Matcap3MaskGlobalMask: 0 - - _Matcap3MaskGlobalMaskBlendType: 2 - - _Matcap3MaskInvert: 0 - - _Matcap3MaskSmoothnessApply: 0 - - _Matcap3MaskSmoothnessChannel: 3 - - _Matcap3MaskUV: 0 - - _Matcap3Mixed: 0 - - _Matcap3Multiply: 0 - - _Matcap3Normal: 1 - - _Matcap3NormalMapScale: 1 - - _Matcap3NormalMapUV: 0 - - _Matcap3Replace: 0 - - _Matcap3Rotation: 0 - - _Matcap3Screen: 0 - - _Matcap3Smoothness: 1 - - _Matcap3SmoothnessEnabled: 0 - - _Matcap3TPSDepthEnabled: 0 - - _Matcap3TPSMaskStrength: 1 - - _Matcap3UVMode: 1 - - _Matcap3UVToBlend: 1 - - _Matcap4Add: 0 - - _Matcap4AddToLight: 0 - - _Matcap4AlphaOverride: 0 - - _Matcap4ApplyToAlphaBlendType: 0 - - _Matcap4ApplyToAlphaBlending: 1 - - _Matcap4ApplyToAlphaEnabled: 0 - - _Matcap4ApplyToAlphaSourceBlend: 0 - - _Matcap4BaseColorMix: 0 - - _Matcap4Border: 0.43 - - _Matcap4ColorThemeIndex: 0 - - _Matcap4EmissionStrength: 0 - - _Matcap4Enable: 0 - - _Matcap4HueShift: 0 - - _Matcap4HueShiftColorSpace: 0 - - _Matcap4HueShiftEnabled: 0 - - _Matcap4HueShiftSpeed: 0 - - _Matcap4Intensity: 1 - - _Matcap4LightMask: 0 - - _Matcap4MaskChannel: 0 - - _Matcap4MaskGlobalMask: 0 - - _Matcap4MaskGlobalMaskBlendType: 2 - - _Matcap4MaskInvert: 0 - - _Matcap4MaskSmoothnessApply: 0 - - _Matcap4MaskSmoothnessChannel: 3 - - _Matcap4MaskUV: 0 - - _Matcap4Mixed: 0 - - _Matcap4Multiply: 0 - - _Matcap4Normal: 1 - - _Matcap4Replace: 0 - - _Matcap4Rotation: 0 - - _Matcap4Screen: 0 - - _Matcap4Smoothness: 1 - - _Matcap4SmoothnessEnabled: 0 - - _Matcap4TPSDepthEnabled: 0 - - _Matcap4TPSMaskStrength: 1 - - _Matcap4UVMode: 1 - - _Matcap4UVToBlend: 1 - - _MatcapAdd: 1 - - _MatcapAddToLight: 0 - - _MatcapAlphaOverride: 0 - - _MatcapApplyToAlphaBlendType: 0 - - _MatcapApplyToAlphaBlending: 1 - - _MatcapApplyToAlphaEnabled: 0 - - _MatcapApplyToAlphaSourceBlend: 0 - - _MatcapBaseColorMix: 0 - - _MatcapBorder: 0.43 - - _MatcapColorThemeIndex: 0 - - _MatcapEmissionStrength: 0 - - _MatcapEnable: 1 - - _MatcapHueShift: 0 - - _MatcapHueShiftColorSpace: 0 - - _MatcapHueShiftEnabled: 0 - - _MatcapHueShiftSpeed: 0 - - _MatcapIntensity: 1 - - _MatcapLightMask: 0 - - _MatcapMaskChannel: 0 - - _MatcapMaskGlobalMask: 0 - - _MatcapMaskGlobalMaskBlendType: 2 - - _MatcapMaskInvert: 0 - - _MatcapMaskSmoothnessApply: 0 - - _MatcapMaskSmoothnessChannel: 3 - - _MatcapMaskUV: 0 - - _MatcapMixed: 0 - - _MatcapMultiply: 0 - - _MatcapNormal: 1 - - _MatcapReplace: 0 - - _MatcapRotation: 0 - - _MatcapScreen: 0 - - _MatcapSmoothness: 1 - - _MatcapSmoothnessEnabled: 0 - - _MatcapTPSDepthEnabled: 0 - - _MatcapTPSMaskStrength: 1 - - _MatcapUVMode: 1 - - _MatcapUVToBlend: 1 - - _Metallic: 0 - - _Mirror: 0 - - _MirrorColorThemeIndex: 0 - - _MirrorTextureBlendType: 0 - - _MirrorTextureEnabled: 0 - - _MirrorTextureForceEnabled: 0 - - _MirrorTextureUV: 0 - - _MochieBRDF: 0 - - _MochieForceFallback: 0 - - _MochieGSAAEnabled: 1 - - _MochieLitFallback: 1 - - _MochieMetallicGlobalMask: 0 - - _MochieMetallicGlobalMaskBlendType: 2 - - _MochieMetallicMapInvert: 0 - - _MochieMetallicMapsMetallicChannel: 0 - - _MochieMetallicMapsReflectionMaskChannel: 2 - - _MochieMetallicMapsRoughnessChannel: 1 - - _MochieMetallicMapsSpecularMaskChannel: 3 - - _MochieMetallicMapsStochastic: 0 - - _MochieMetallicMapsUV: 0 - - _MochieMetallicMasksUV: 0 - - _MochieMetallicMultiplier: 0 - - _MochieReflectionMaskInvert: 0 - - _MochieReflectionStrength: 1 - - _MochieReflectionStrengthGlobalMask: 0 - - _MochieReflectionStrengthGlobalMaskBlendType: 2 - - _MochieReflectionTintThemeIndex: 0 - - _MochieRoughnessMapInvert: 0 - - _MochieRoughnessMultiplier: 1 - - _MochieRoughnessMultiplier2: 1 - - _MochieSmoothnessGlobalMask: 0 - - _MochieSmoothnessGlobalMaskBlendType: 2 - - _MochieSpecularMaskInvert: 0 - - _MochieSpecularStrength: 1 - - _MochieSpecularStrength2: 1 - - _MochieSpecularStrengthGlobalMask: 0 - - _MochieSpecularStrengthGlobalMaskBlendType: 2 - - _MochieSpecularTintThemeIndex: 0 - - _Mode: 0 - - _ModelAngleMax: 90 - - _ModelAngleMin: 45 - - _MonochromeLighting: 0 - - _MultilayerMathBlurMapUV: 0 - - _NormalCorrect: 0 - - _NormalCorrectAmount: 0.9 - - _OcclusionStrength: 1 - - _OffsetFactor: 0 - - _OffsetUnits: 0 - - _Offset_Z: 0 - - _OutlineALColorEnabled: 0 - - _OutlineAlphaDistanceFade: 0 - - _OutlineAlphaDistanceFadeMax: 0 - - _OutlineAlphaDistanceFadeMaxAlpha: 1 - - _OutlineAlphaDistanceFadeMin: 0 - - _OutlineAlphaDistanceFadeMinAlpha: 0 - - _OutlineAlphaDistanceFadeType: 1 - - _OutlineAlphaToMask: 0 - - _OutlineBlendOp: 0 - - _OutlineBlendOpAlpha: 0 - - _OutlineBlendOpAlphaFA: 4 - - _OutlineBlendOpFA: 4 - - _OutlineClipAtZeroWidth: 0 - - _OutlineColorMask: 15 - - _OutlineCull: 1 - - _OutlineDeleteMesh: 0 - - _OutlineDisableInVR: 0 - - _OutlineDstBlend: 0 - - _OutlineDstBlendAlpha: 10 - - _OutlineDstBlendAlphaFA: 1 - - _OutlineDstBlendFA: 1 - - _OutlineEmission: 0 - - _OutlineEnableLighting: 1 - - _OutlineExpansionMode: 1 - - _OutlineFixWidth: 1 - - _OutlineFixedSize: 1 - - _OutlineHueOffsetSpeed: 0 - - _OutlineHueShift: 0 - - _OutlineLit: 1 - - _OutlineLitApplyTex: 0 - - _OutlineLitOffset: -8 - - _OutlineLitScale: 10 - - _OutlineLitShadowReceive: 0 - - _OutlineMaskChannel: 0 - - _OutlineMaskUV: 0 - - _OutlineOffsetFactor: 0 - - _OutlineOffsetUnits: 0 - - _OutlineOverrideAlpha: 0 - - _OutlineRimLightBlend: 0 - - _OutlineShadowStrength: 0 - - _OutlineSpace: 0 - - _OutlineSrcBlend: 1 - - _OutlineSrcBlendAlpha: 1 - - _OutlineSrcBlendAlphaFA: 0 - - _OutlineSrcBlendFA: 1 - - _OutlineStencilBackCompareFunction: 8 - - _OutlineStencilBackFailOp: 0 - - _OutlineStencilBackPassOp: 0 - - _OutlineStencilBackZFailOp: 0 - - _OutlineStencilComp: 8 - - _OutlineStencilCompareFunction: 8 - - _OutlineStencilFail: 0 - - _OutlineStencilFailOp: 0 - - _OutlineStencilFrontCompareFunction: 8 - - _OutlineStencilFrontFailOp: 0 - - _OutlineStencilFrontPassOp: 0 - - _OutlineStencilFrontZFailOp: 0 - - _OutlineStencilPass: 0 - - _OutlineStencilPassOp: 0 - - _OutlineStencilReadMask: 255 - - _OutlineStencilRef: 0 - - _OutlineStencilType: 0 - - _OutlineStencilWriteMask: 255 - - _OutlineStencilZFail: 0 - - _OutlineStencilZFailOp: 0 - - _OutlineTextureUV: 0 - - _OutlineTintMix: 0 - - _OutlineUseVertexColorNormals: 0 - - _OutlineVectorScale: 1 - - _OutlineVectorUVMode: 0 - - _OutlineVertexColorMask: 0 - - _OutlineVertexColorMaskStrength: 1 - - _OutlineVertexR2Width: 0 - - _OutlineWidth: 0.4 - - _OutlineZBias: 0 - - _OutlineZClip: 1 - - _OutlineZTest: 2 - - _OutlineZWrite: 1 - - _OutlinesMaxDistance: 1 - - _PBRNormalSelect: 1 - - _PBRSplitMaskSample: 0 - - _PBRSplitMaskStochastic: 0 - - _PPBrightness: 1 - - _PPContrast: 1 - - _PPEmissionMultiplier: 1 - - _PPFinalColorMultiplier: 1 - - _PPHDR: 0 - - _PPHelp: 0 - - _PPHue: 0 - - _PPHueShiftColorSpace: 0 - - _PPLightingAddition: 0 - - _PPLightingMultiplier: 1 - - _PPLightness: 0 - - _PPMaskChannel: 0 - - _PPMaskInvert: 0 - - _PPMaskUV: 0 - - _PPPosterization: 0 - - _PPPosterizationAmount: 4 - - _PPSaturation: 1 - - _PanoUseBothEyes: 1 - - _Parallax: 0.02 - - _ParallaxInternalBlendMode: 0 - - _ParallaxInternalHeightFromAlpha: 0 - - _ParallaxInternalHeightmapMode: 0 - - _ParallaxInternalHueShift: 0 - - _ParallaxInternalHueShiftEnabled: 0 - - _ParallaxInternalHueShiftPerLevel: 0 - - _ParallaxInternalHueShiftSpeed: 0 - - _ParallaxInternalIterations: 4 - - _ParallaxInternalMapMaskChannel: 0 - - _ParallaxInternalMapMaskUV: 0 - - _ParallaxInternalMaxColorThemeIndex: 0 - - _ParallaxInternalMaxDepth: 0.1 - - _ParallaxInternalMaxFade: 0.1 - - _ParallaxInternalMinColorThemeIndex: 0 - - _ParallaxInternalMinDepth: 0 - - _ParallaxInternalMinFade: 1 - - _ParallaxInternalSurfaceBlendMode: 8 - - _ParallaxOffset: 0.5 - - _ParallaxUV: 0 - - _PathALAutoCorrelator: 0 - - _PathALAutoCorrelatorA: 0 - - _PathALAutoCorrelatorB: 0 - - _PathALAutoCorrelatorG: 0 - - _PathALAutoCorrelatorMode: 0 - - _PathALAutoCorrelatorR: 0 - - _PathALCCA: 0 - - _PathALCCB: 0 - - _PathALCCG: 0 - - _PathALCCR: 0 - - _PathALChrono: 0 - - _PathALColorChord: 0 - - _PathALEmissionOffset: 0 - - _PathALHistory: 0 - - _PathALHistoryA: 0 - - _PathALHistoryB: 0 - - _PathALHistoryBandA: 0 - - _PathALHistoryBandB: 0 - - _PathALHistoryBandG: 0 - - _PathALHistoryBandR: 0 - - _PathALHistoryG: 0 - - _PathALHistoryMode: 0 - - _PathALHistoryR: 0 - - _PathALTimeOffset: 0 - - _PathALWidthOffset: 0 - - _PathChronoBandA: 0 - - _PathChronoBandB: 0 - - _PathChronoBandG: 0 - - _PathChronoBandR: 0 - - _PathChronoSpeedA: 0 - - _PathChronoSpeedB: 0 - - _PathChronoSpeedG: 0 - - _PathChronoSpeedR: 0 - - _PathChronoTypeA: 0 - - _PathChronoTypeB: 0 - - _PathChronoTypeG: 0 - - _PathChronoTypeR: 0 - - _PathColorAThemeIndex: 0 - - _PathColorBThemeIndex: 0 - - _PathColorGThemeIndex: 0 - - _PathColorRThemeIndex: 0 - - _PathGradientType: 0 - - _PathTypeA: 0 - - _PathTypeB: 0 - - _PathTypeG: 0 - - _PathTypeR: 0 - - _PathingColorMapUV: 0 - - _PathingMapUV: 0 - - _PathingOverrideAlpha: 0 - - _PoiGSAAThreshold: 0.1 - - _PoiGSAAVariance: 0.15 - - _PoiInternalParallax: 0 - - _PoiParallax: 0 - - _PoiUTSStyleOutlineBlend: 0 - - _PolarLengthScale: 1 - - _PolarRadialScale: 1 - - _PolarSpiralPower: 0 - - _PolarUV: 0 - - _PostProcess: 0 - - _RGBAAlphaBlendType: 0 - - _RGBAAlphaEmissionStrength: 0 - - _RGBAAlphaEnable: 0 - - _RGBAAlphaMetallicInvert: 0 - - _RGBAAlphaPBRSplitMaskSample: 0 - - _RGBAAlphaPBRSplitMaskStochastic: 0 - - _RGBAAlphaPBRUV: 0 - - _RGBAAlphaSmoothnessInvert: 0 - - _RGBABlueBlendType: 0 - - _RGBABlueEmissionStrength: 0 - - _RGBABlueEnable: 0 - - _RGBABlueMetallicInvert: 0 - - _RGBABluePBRSplitMaskSample: 0 - - _RGBABluePBRSplitMaskStochastic: 0 - - _RGBABluePBRUV: 0 - - _RGBABlueSmoothnessInvert: 0 - - _RGBAGreenBlendType: 0 - - _RGBAGreenEmissionStrength: 0 - - _RGBAGreenEnable: 0 - - _RGBAGreenMetallicInvert: 0 - - _RGBAGreenPBRSplitMaskSample: 0 - - _RGBAGreenPBRSplitMaskStochastic: 0 - - _RGBAGreenPBRUV: 0 - - _RGBAGreenSmoothnessInvert: 0 - - _RGBAMetallicMapsStochastic: 0 - - _RGBAMetallicMapsUV: 0 - - _RGBAPBRAlphaEnabled: 0 - - _RGBAPBRBlueEnabled: 0 - - _RGBAPBRGreenEnabled: 0 - - _RGBAPBRRedEnabled: 0 - - _RGBARedBlendType: 0 - - _RGBARedEmissionStrength: 0 - - _RGBARedEnable: 0 - - _RGBARedMetallicInvert: 0 - - _RGBARedPBRSplitMaskSample: 0 - - _RGBARedPBRSplitMaskStochastic: 0 - - _RGBARedPBRUV: 0 - - _RGBARedSmoothnessInvert: 0 - - _RGBASmoothnessMapsStochastic: 0 - - _RGBASmoothnessMapsUV: 0 - - _RGBMaskEnabled: 0 - - _RGBMaskType: 0 - - _RGBMaskUV: 0 - - _RedAlphaAdd: 0 - - _RedColorThemeIndex: 0 - - _RedTextureStochastic: 0 - - _RedTextureUV: 0 - - _RefSpecFresnel: 1 - - _RefSpecFresnelBack: 1 - - _Reflectance: 0.04 - - _ReflectionApplyTransparency: 1 - - _ReflectionBlendMode: 1 - - _ReflectionCubeEnableLighting: 1 - - _ReflectionCubeOverride: 0 - - _ReflectionNormalStrength: 1 - - _RenderingEarlyZEnabled: 0 - - _RenderingReduceClipDistance: 0 - - _RgbAlphaGlobalMaskBlendType: 2 - - _RgbAlphaGlobalMaskChannel: 0 - - _RgbAlphaMaskChannel: 3 - - _RgbBlueGlobalMaskBlendType: 2 - - _RgbBlueGlobalMaskChannel: 0 - - _RgbBlueMaskChannel: 2 - - _RgbGreenGlobalMaskBlendType: 2 - - _RgbGreenGlobalMaskChannel: 0 - - _RgbGreenMaskChannel: 1 - - _RgbNormalAGlobalMaskBlendType: 2 - - _RgbNormalAGlobalMaskChannel: 0 - - _RgbNormalAMaskChannel: 3 - - _RgbNormalAScale: 0 - - _RgbNormalAStochastic: 0 - - _RgbNormalAUV: 0 - - _RgbNormalAlphaBlendMode: 0 - - _RgbNormalBGlobalMaskBlendType: 2 - - _RgbNormalBGlobalMaskChannel: 0 - - _RgbNormalBMaskChannel: 2 - - _RgbNormalBScale: 0 - - _RgbNormalBStochastic: 0 - - _RgbNormalBUV: 0 - - _RgbNormalBlueBlendMode: 0 - - _RgbNormalGGlobalMaskBlendType: 2 - - _RgbNormalGGlobalMaskChannel: 0 - - _RgbNormalGMaskChannel: 1 - - _RgbNormalGScale: 0 - - _RgbNormalGStochastic: 0 - - _RgbNormalGUV: 0 - - _RgbNormalGreenBlendMode: 0 - - _RgbNormalRGlobalMaskBlendType: 2 - - _RgbNormalRGlobalMaskChannel: 0 - - _RgbNormalRMaskChannel: 0 - - _RgbNormalRScale: 0 - - _RgbNormalRStochastic: 0 - - _RgbNormalRUV: 0 - - _RgbNormalRedBlendMode: 0 - - _RgbRedGlobalMaskBlendType: 2 - - _RgbRedGlobalMaskChannel: 0 - - _RgbRedMaskChannel: 0 - - _Rim2ApColorThemeIndex: 0 - - _Rim2ApplyAlpha: 0 - - _Rim2ApplyAlphaBlend: 1 - - _Rim2ApplyGlobalMaskBlendType: 2 - - _Rim2ApplyGlobalMaskIndex: 0 - - _Rim2BackfaceMask: 1 - - _Rim2BaseColorMix: 0 - - _Rim2BiasIntensity: 0 - - _Rim2BlendMode: 1 - - _Rim2BlendStrength: 1 - - _Rim2Blur: 0.65 - - _Rim2Border: 0.5 - - _Rim2Brightness: 1 - - _Rim2ColorTexUV: 0 - - _Rim2DirRange: 0 - - _Rim2DirStrength: 0 - - _Rim2EnableLighting: 1 - - _Rim2FresnelPower: 3.5 - - _Rim2GlobalMask: 0 - - _Rim2GlobalMaskBlendType: 2 - - _Rim2HueShift: 0 - - _Rim2HueShiftColorSpace: 0 - - _Rim2HueShiftEnabled: 0 - - _Rim2HueShiftSpeed: 0 - - _Rim2IndirBlur: 0.1 - - _Rim2IndirBorder: 0.5 - - _Rim2IndirRange: 0 - - _Rim2LightColorThemeIndex: 0 - - _Rim2Light_FeatherOff: 0 - - _Rim2Light_InsideMask: 0.0001 - - _Rim2Light_Power: 0.1 - - _Rim2LightingInvert: 0 - - _Rim2MainStrength: 0 - - _Rim2MaskChannel: 0 - - _Rim2MaskInvert: 0 - - _Rim2MaskUV: 0 - - _Rim2NormalStrength: 1 - - _Rim2Power: 1 - - _Rim2ShadowMask: 0.5 - - _Rim2ShadowMaskInvert: 0 - - _Rim2ShadowMaskRampType: 0 - - _Rim2ShadowMaskStrength: 1 - - _Rim2ShadowToggle: 0 - - _Rim2ShadowWidth: 0 - - _Rim2Sharpness: 0.25 - - _Rim2Strength: 0 - - _Rim2Style: 0 - - _Rim2TexUV: 0 - - _Rim2VRParallaxStrength: 1 - - _Rim2Width: 0.8 - - _RimApColorThemeIndex: 0 - - _RimApplyAlpha: 0 - - _RimApplyAlphaBlend: 1 - - _RimApplyGlobalMaskBlendType: 2 - - _RimApplyGlobalMaskIndex: 0 - - _RimApplyTransparency: 1 - - _RimBackfaceMask: 1 - - _RimBaseColorMix: 0 - - _RimBiasIntensity: 0 - - _RimBlendMode: 1 - - _RimBlendStrength: 1 - - _RimBlur: 0.65 - - _RimBorder: 0.5 - - _RimBrightness: 1 - - _RimColorTexUV: 0 - - _RimDirRange: 0 - - _RimDirStrength: 0 - - _RimEnableLighting: 1 - - _RimEnviroBlur: 0.7 - - _RimEnviroChannel: 0 - - _RimEnviroIntensity: 1 - - _RimEnviroMaskUV: 0 - - _RimEnviroMinBrightness: 0 - - _RimEnviroSharpness: 0 - - _RimEnviroWidth: 0.45 - - _RimFresnelPower: 3.5 - - _RimGlobalMask: 0 - - _RimGlobalMaskBlendType: 2 - - _RimHueShift: 0 - - _RimHueShiftColorSpace: 0 - - _RimHueShiftEnabled: 0 - - _RimHueShiftSpeed: 0 - - _RimIndirBlur: 0.1 - - _RimIndirBorder: 0.5 - - _RimIndirRange: 0 - - _RimLightColorThemeIndex: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _RimLightingInvert: 0 - - _RimMainStrength: 0 - - _RimMaskChannel: 0 - - _RimMaskInvert: 0 - - _RimMaskUV: 0 - - _RimNormalStrength: 1 - - _RimPoi2BlendMode: 0 - - _RimPoiBlendMode: 0 - - _RimPower: 1 - - _RimShadeBlur: 1 - - _RimShadeBorder: 0.5 - - _RimShadeFresnelPower: 1 - - _RimShadeNormalStrength: 1 - - _RimShadowMask: 0.5 - - _RimShadowMaskInvert: 0 - - _RimShadowMaskRampType: 0 - - _RimShadowMaskStrength: 1 - - _RimShadowToggle: 0 - - _RimShadowWidth: 0 - - _RimSharpness: 0.25 - - _RimStrength: 0 - - _RimStyle: 0 - - _RimTexUV: 0 - - _RimVRParallaxStrength: 1 - - _RimWidth: 0.8 - - _SDFBlur: 0.1 - - _SDFShadingTextureUV: 0 - - _SSIgnoreCastedShadows: 0 - - _SSSBaseColorMix: 0 - - _SSSDistortion: 1 - - _SSSSpread: 5 - - _SSSStrength: 0.25 - - _SSSThicknessMapChannel: 0 - - _SSSThicknessMapUV: 0 - - _SSSThicknessMod: -1 - - _Saturation: 0 - - _ScrollingEmission: 0 - - _ScrollingEmission1: 0 - - _ScrollingEmission2: 0 - - _ScrollingEmission3: 0 - - _Set_HighColorMaskChannel: 1 - - _Set_HighColorMaskUV: 0 - - _Set_Rim2LightMaskChannel: 1 - - _Set_Rim2LightMaskUV: 0 - - _Set_RimLightMaskChannel: 1 - - _Set_RimLightMaskUV: 0 - - _ShadeColor_Step: 0 - - _ShaderOptimizerEnabled: 1 - - _ShaderUIWarning0: -0 - - _ShaderUIWarning1: -0 - - _ShadingEnabled: 1 - - _ShadingRampedLightMapApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapApplyGlobalMaskIndex: 0 - - _ShadingRampedLightMapInverseApplyGlobalMaskBlendType: 2 - - _ShadingRampedLightMapInverseApplyGlobalMaskIndex: 0 - - _ShadingShadeMapBlendType: 0 - - _Shadow2ndBlur: 0.1 - - _Shadow2ndBorder: 0.15 - - _Shadow2ndColorTexUV: 0 - - _Shadow2ndNormalStrength: 1 - - _Shadow2ndReceive: 0 - - _Shadow3rdBlur: 0.1 - - _Shadow3rdBorder: 0.25 - - _Shadow3rdColorTexUV: 0 - - _Shadow3rdNormalStrength: 1 - - _Shadow3rdReceive: 0 - - _ShadowBlur: 0.1 - - _ShadowBlurMaskLOD: 0 - - _ShadowBorder: 0.5 - - _ShadowBorderMapToggle: 0 - - _ShadowBorderMaskLOD: 0 - - _ShadowBorderMaskUV: 0 - - _ShadowBorderRange: 0.08 - - _ShadowColorTexUV: 0 - - _ShadowColorType: 0 - - _ShadowEnvStrength: 0 - - _ShadowFlatBlur: 1 - - _ShadowFlatBorder: 1 - - _ShadowMainStrength: 0 - - _ShadowMaskType: 0 - - _ShadowNormalStrength: 1 - - _ShadowOffset: 0 - - _ShadowPostAO: 0 - - _ShadowReceive: 0 - - _ShadowStrength: 1 - - _ShadowStrengthMaskLOD: 0 - - _ShiftBackfaceUV: 0 - - _SkinThicknessMapInvert: 0 - - _SkinThicknessMapUV: 0 - - _SkinThicknessPower: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _Specular2ndLayer: 0 - - _SpecularBlur: 0 - - _SpecularBorder: 0.5 - - _SpecularHighlights: 1 - - _SpecularNormalStrength: 1 - - _SpecularToon: 1 - - _SphericalDissolveClamp: 0 - - _SphericalDissolveInvert: 0 - - _SphericalDissolveRadius: 1.5 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _SrcBlendAlphaFA: 0 - - _SrcBlendFA: 1 - - _SssBumpBlur: 0.7 - - _SssScale: 1 - - _StencilBackCompareFunction: 8 - - _StencilBackFailOp: 0 - - _StencilBackPassOp: 0 - - _StencilBackZFailOp: 0 - - _StencilComp: 8 - - _StencilCompareFunction: 8 - - _StencilFail: 0 - - _StencilFailOp: 0 - - _StencilFrontCompareFunction: 8 - - _StencilFrontFailOp: 0 - - _StencilFrontPassOp: 0 - - _StencilFrontZFailOp: 0 - - _StencilPass: 0 - - _StencilPassOp: 0 - - _StencilReadMask: 255 - - _StencilRef: 0 - - _StencilType: 0 - - _StencilWriteMask: 255 - - _StencilZFail: 0 - - _StencilZFailOp: 0 - - _StereoEnabled: 0 - - _StochasticDeliotHeitzDensity: 1 - - _StochasticHexFallOffContrast: 0.6 - - _StochasticHexFallOffPower: 7 - - _StochasticHexGridDensity: 1 - - _StochasticHexRotationStrength: 0 - - _StochasticMode: 0 - - _StylizedSpecular: 0 - - _StylizedSpecular2Feather: 0 - - _StylizedSpecularFeather: 0 - - _StylizedSpecularIgnoreNormal: 0 - - _StylizedSpecularIgnoreShadow: 0 - - _StylizedSpecularInvertMask: 0 - - _StylizedSpecularStrength: 1 - - _SubpassCutoff: 0.5 - - _SubsurfaceScattering: 0 - - _TessEdge: 10 - - _TessFactorMax: 3 - - _TessShrink: 0 - - _TessStrength: 0.5 - - _TextEnabled: 0 - - _TextFPSColorThemeIndex: 0 - - _TextFPSEmissionStrength: 0 - - _TextFPSEnabled: 0 - - _TextFPSRotation: 0 - - _TextFPSUV: 0 - - _TextNumericColorThemeIndex: 0 - - _TextNumericDecimalDigits: 0 - - _TextNumericEmissionStrength: 0 - - _TextNumericEnabled: 0 - - _TextNumericRotation: 0 - - _TextNumericTrimZeroes: 0 - - _TextNumericUV: 0 - - _TextNumericValue: 0 - - _TextNumericWholeDigits: 4 - - _TextPixelRange: 4 - - _TextPositionColorThemeIndex: 0 - - _TextPositionEmissionStrength: 0 - - _TextPositionEnabled: 0 - - _TextPositionRotation: 0 - - _TextPositionUV: 0 - - _TextTimeColorThemeIndex: 0 - - _TextTimeEmissionStrength: 0 - - _TextTimeEnabled: 0 - - _TextTimeRotation: 0 - - _TextTimeUV: 0 - - _ToonRampCount: 1 - - _ToonRampUVSelector: 1 - - _TransparentMode: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_LightDirection_MaskLevel2: 0 - - _Tweak_Rim2LightMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _UDIMDiscardCompile: 0 - - _UDIMDiscardHelpbox: 0 - - _UDIMDiscardMode: 0 - - _UDIMDiscardRow0_0: 0 - - _UDIMDiscardRow0_1: 0 - - _UDIMDiscardRow0_2: 0 - - _UDIMDiscardRow0_3: 0 - - _UDIMDiscardRow1_0: 0 - - _UDIMDiscardRow1_1: 0 - - _UDIMDiscardRow1_2: 0 - - _UDIMDiscardRow1_3: 0 - - _UDIMDiscardRow2_0: 0 - - _UDIMDiscardRow2_1: 0 - - _UDIMDiscardRow2_2: 0 - - _UDIMDiscardRow2_3: 0 - - _UDIMDiscardRow3_0: 0 - - _UDIMDiscardRow3_1: 0 - - _UDIMDiscardRow3_2: 0 - - _UDIMDiscardRow3_3: 0 - - _UDIMDiscardUV: 0 - - _UVModLocalPos0: 0 - - _UVModLocalPos1: 1 - - _UVModWorldPos0: 0 - - _UVModWorldPos1: 2 - - _UVSec: 0 - - _UVTileDissolveAlpha_Row0_0: 0 - - _UVTileDissolveAlpha_Row0_1: 0 - - _UVTileDissolveAlpha_Row0_2: 0 - - _UVTileDissolveAlpha_Row0_3: 0 - - _UVTileDissolveAlpha_Row1_0: 0 - - _UVTileDissolveAlpha_Row1_1: 0 - - _UVTileDissolveAlpha_Row1_2: 0 - - _UVTileDissolveAlpha_Row1_3: 0 - - _UVTileDissolveAlpha_Row2_0: 0 - - _UVTileDissolveAlpha_Row2_1: 0 - - _UVTileDissolveAlpha_Row2_2: 0 - - _UVTileDissolveAlpha_Row2_3: 0 - - _UVTileDissolveAlpha_Row3_0: 0 - - _UVTileDissolveAlpha_Row3_1: 0 - - _UVTileDissolveAlpha_Row3_2: 0 - - _UVTileDissolveAlpha_Row3_3: 0 - - _UVTileDissolveDiscardAtMax: 1 - - _UVTileDissolveEnabled: 0 - - _UVTileDissolveUV: 0 - - _Unlit_Intensity: 1 - - _UseAnisotropy: 0 - - _UseAudioLink: 0 - - _UseBacklight: 0 - - _UseBump2ndMap: 0 - - _UseBumpMap: 0 - - _UseClippingCanceller: 0 - - _UseDither: 0 - - _UseEmission: 0 - - _UseEmission2nd: 0 - - _UseGlitter: 0 - - _UseLightColor: 1 - - _UseMain2ndTex: 0 - - _UseMain3rdTex: 0 - - _UseMatCap: 1 - - _UseMatCap2nd: 0 - - _UseOutline: 0 - - _UsePOM: 0 - - _UseParallax: 0 - - _UseReflection: 0 - - _UseRim: 0 - - _UseRimShade: 0 - - _UseShadow: 0 - - _Use_1stAs2nd: 0 - - _Use_1stShadeMapAlpha_As_ShadowMask: 0 - - _Use_2ndShadeMapAlpha_As_ShadowMask: 0 - - _Use_BaseAs1st: 0 - - _VertexAudioLinkEnabled: 0 - - _VertexBarrelAlpha: 0 - - _VertexBarrelHeight: 0 - - _VertexBarrelMode: 0 - - _VertexBarrelWidth: 0.2 - - _VertexGlitchDensity: 10 - - _VertexGlitchFrequency: 1 - - _VertexGlitchMapPanSpeed: 10 - - _VertexGlitchMirror: 0 - - _VertexGlitchMirrorEnable: 0 - - _VertexGlitchStrength: 1 - - _VertexGlitchThreshold: 1 - - _VertexGlitchingAudioLinkBand: 0 - - _VertexGlitchingAudioLinkEnabled: 0 - - _VertexGlitchingAudiolinkOverride: 1 - - _VertexGlitchingEnabled: 0 - - _VertexGlitchingUseTexture: 0 - - _VertexLightStrength: 0 - - _VertexLocalRotationALBandX: 0 - - _VertexLocalRotationALBandY: 0 - - _VertexLocalRotationALBandZ: 0 - - _VertexLocalRotationCTALBandX: 0 - - _VertexLocalRotationCTALBandY: 0 - - _VertexLocalRotationCTALBandZ: 0 - - _VertexLocalRotationCTALTypeX: 0 - - _VertexLocalRotationCTALTypeY: 0 - - _VertexLocalRotationCTALTypeZ: 0 - - _VertexLocalScaleALBand: 0 - - _VertexLocalTranslationALBand: 0 - - _VertexManipulationHeight: 0 - - _VertexManipulationHeightBand: 0 - - _VertexManipulationHeightBias: 0 - - _VertexManipulationHeightMaskChannel: 0 - - _VertexManipulationHeightMaskUV: 0 - - _VertexManipulationsEnabled: 0 - - _VertexRoundingDivision: 0.02 - - _VertexRoundingEnabled: 0 - - _VertexRoundingRangeBand: 0 - - _VertexRoundingSpace: 0 - - _VertexSpectrumMotion: 0 - - _VertexSpectrumUV: 0 - - _VertexSpectrumUVDirection: 0 - - _VertexSphereAlpha: 0 - - _VertexSphereHeight: 1 - - _VertexSphereMode: 0 - - _VertexSphereRadius: 1 - - _VertexTornadoBaseHeight: 0 - - _VertexTornadoIntensity: 100 - - _VertexTornadoMode: 0 - - _VertexTornadoRadius: 0.2 - - _VertexTornadoSpeed: 5 - - _VertexTornadoTopHeight: 1 - - _VertexWorldTranslationALBand: 0 - - _VideoBacklight: 1 - - _VideoCRTPixelEnergizedTime: 1.9 - - _VideoCRTRefreshRate: 24 - - _VideoContrast: 0 - - _VideoEffectsEnable: 0 - - _VideoEmissionEnabled: 1 - - _VideoMaskTextureChannel: 0 - - _VideoMaskTextureUV: 0 - - _VideoPixelTextureUV: 0 - - _VideoPixelateToResolution: 0 - - _VideoSaturation: 0 - - _VideoType: 3 - - _VisibilityMode: 1 - - _VisibilityVRCCameraDesktop: 1 - - _VisibilityVRCCameraScreenshot: 1 - - _VisibilityVRCCameraVR: 1 - - _VisibilityVRCMirrorDesktop: 1 - - _VisibilityVRCMirrorVR: 1 - - _VisibilityVRCRegular: 1 - - _VoronoiAffectsMaterialAlpha: 0 - - _VoronoiBlend: 0 - - _VoronoiEnableRandomCellColor: 0 - - _VoronoiEnabled: 0 - - _VoronoiGlobalMask: 0 - - _VoronoiGlobalMaskBlendType: 2 - - _VoronoiInnerEmissionStrength: 0 - - _VoronoiMaskChannel: 0 - - _VoronoiMaskUV: 0 - - _VoronoiNoiseChannel: 0 - - _VoronoiNoiseIntensity: 0.1 - - _VoronoiNoiseUV: 0 - - _VoronoiOuterEmissionStrength: 0 - - _VoronoiPower: 0.45454544 - - _VoronoiScale: 5 - - _VoronoiSpace: 0 - - _VoronoiType: 1 - - _ZClip: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _e2gai: 2 - - _e2gci: 2 - - _egai: 2 - - _egci: 2 - - _lilDirectionalLightStrength: 1 - - _lilShadowCasterBias: 0 - - _lilToonVersion: 44 - - footer_discord: 0 - - footer_github: 0 - - footer_patreon: 0 - - footer_twitter: 0 - - footer_youtube: 0 - - m_AudioLinkCategory: 0 - - m_OutlineCategory: 0 - - m_end_ALDecalSpectrum: 0 - - m_end_ALVolumeColor: 0 - - m_end_Alpha: 0 - - m_end_Ansio: 0 - - m_end_BeatsaberBloomFog: 0 - - m_end_BeatsaberOptions: 0 - - m_end_BlackLightMasking: 0 - - m_end_BonusSliders: 0 - - m_end_CRT: 0 - - m_end_CenterOutDissolve: 0 - - m_end_ColorAdjust: 0 - - m_end_CubeMap: 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_DepthBulge: 0 - - m_end_DetailOptions: 0 - - m_end_DistortionAudioLink: 0 - - m_end_FXProximityColor: 0 - - m_end_FlipbookAudioLink: 0 - - m_end_Gameboy: 0 - - m_end_GlobalMask: 0 - - m_end_GlobalMaskDistanceM_0: 0 - - m_end_GlobalMaskDistanceM_1: 0 - - m_end_GlobalMaskDistanceM_10: 0 - - m_end_GlobalMaskDistanceM_11: 0 - - m_end_GlobalMaskDistanceM_12: 0 - - m_end_GlobalMaskDistanceM_13: 0 - - m_end_GlobalMaskDistanceM_14: 0 - - m_end_GlobalMaskDistanceM_15: 0 - - m_end_GlobalMaskDistanceM_2: 0 - - m_end_GlobalMaskDistanceM_3: 0 - - m_end_GlobalMaskDistanceM_4: 0 - - m_end_GlobalMaskDistanceM_5: 0 - - m_end_GlobalMaskDistanceM_6: 0 - - m_end_GlobalMaskDistanceM_7: 0 - - m_end_GlobalMaskDistanceM_8: 0 - - m_end_GlobalMaskDistanceM_9: 0 - - m_end_GlobalMaskModifiers: 0 - - m_end_GlobalMaskModifiersBackface: 0 - - m_end_GlobalMaskModifiersCamera: 0 - - m_end_GlobalMaskModifiersDistance: 0 - - m_end_GlobalMaskModifiersMirror: 0 - - m_end_GlobalMaskOptions: 0 - - m_end_GlobalMaskTextures: 0 - - m_end_GlobalMaskVertexColors: 0 - - m_end_GlobalThemeColor0: 0 - - m_end_GlobalThemeColor1: 0 - - m_end_GlobalThemeColor2: 0 - - m_end_GlobalThemeColor3: 0 - - m_end_GlobalThemes: 0 - - m_end_LTCGI: 0 - - m_end_MainVertexColors: 0 - - m_end_Matcap2: 0 - - m_end_Matcap3: 0 - - m_end_Matcap4: 0 - - m_end_OutlineAudioLink: 0 - - m_end_OutlineStencil: 0 - - m_end_OutlineStencilPassBackOptions: 0 - - m_end_OutlineStencilPassFrontOptions: 0 - - m_end_PPAnimations: 0 - - m_end_PathAudioLink: 0 - - m_end_PoiGlobalCategory: 0 - - m_end_PoiLightData: 0 - - m_end_PoiPostProcessingCategory: 0 - - m_end_PoiShading: 0 - - m_end_PoiUVCategory: 0 - - m_end_RGBMask: 0 - - m_end_Rim2AudioLink: 0 - - m_end_RimAudioLink: 0 - - m_end_SphericalDissolve: 0 - - m_end_StencilPassBackOptions: 0 - - m_end_StencilPassFrontOptions: 0 - - m_end_StencilPassOptions: 0 - - m_end_Stochastic: 0 - - m_end_Text: 0 - - m_end_TextFPS: 0 - - m_end_TextInstanceTime: 0 - - m_end_TextNumeric: 0 - - m_end_TextPosition: 0 - - m_end_UVTileDissolve: 0 - - m_end_UVTileDissolveRow0: 0 - - m_end_UVTileDissolveRow1: 0 - - m_end_UVTileDissolveRow2: 0 - - m_end_UVTileDissolveRow3: 0 - - m_end_VideoSettings: 0 - - m_end_VoronoiAudioLink: 0 - - m_end_alphaBlending: 0 - - m_end_audioLink: 0 - - m_end_audioLinkOverrides: 0 - - m_end_backFace: 0 - - m_end_backlight: 0 - - m_end_blending: 0 - - m_end_brdf: 0 - - m_end_clearCoat: 0 - - m_end_clearcoatadvanced: 0 - - m_end_clearcoatglobalmask: 0 - - m_end_depthFX: 0 - - m_end_depthRimLightOptions: 0 - - m_end_dissolve: 0 - - m_end_dissolveHueShift: 0 - - m_end_emission1Options: 0 - - m_end_emission2Options: 0 - - m_end_emission3Options: 0 - - m_end_emissionOptions: 0 - - m_end_flipBook: 0 - - m_end_glitter: 0 - - m_end_internalparallax: 0 - - m_end_matcap: 0 - - m_end_mirrorOptions: 0 - - m_end_normalCorrect: 0 - - m_end_outlineAlphaBlending: 0 - - m_end_outlineBlending: 0 - - m_end_parallax: 0 - - m_end_pathing: 0 - - m_end_pointToPoint: 0 - - m_end_postprocess: 0 - - m_end_reflectionRim: 0 - - m_end_rim1LightOptions: 0 - - m_end_rim2LightOptions: 0 - - m_end_stylizedSpec: 0 - - m_end_subsurfaceScattering: 0 - - m_end_udimdiscardOptions: 0 - - m_end_uvDistortion: 0 - - m_end_uvLocalWorld: 0 - - m_end_uvPanosphere: 0 - - m_end_uvPolar: 0 - - m_end_vertexGlitching: 0 - - m_end_vertexManipulation: 0 - - m_end_videoEffects: 0 - - m_end_voronoi: 0 - - m_end_voronoiRandom: 0 - - m_lightingCategory: 1 - - m_mainCategory: 1 - - m_modifierCategory: 0 - - m_renderingCategory: 0 - - m_specialFXCategory: 0 - - m_start_ALDecalSpectrum: 0 - - m_start_ALVolumeColor: 0 - - m_start_Alpha: 0 - - m_start_Aniso: 0 - - m_start_BeatsaberBloomFog: 0 - - m_start_BeatsaberOptions: 0 - - m_start_BlackLightMasking: 0 - - m_start_BonusSliders: 0 - - m_start_CRT: 0 - - m_start_CenterOutDissolve: 0 - - m_start_ColorAdjust: 0 - - m_start_CubeMap: 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_DepthBulge: 0 - - m_start_DetailOptions: 0 - - m_start_DistortionAudioLink: 0 - - m_start_FXProximityColor: 0 - - m_start_FlipbookAudioLink: 0 - - m_start_Gameboy: 0 - - m_start_GlobalMask: 0 - - m_start_GlobalMaskDistanceM_0: 0 - - m_start_GlobalMaskDistanceM_1: 0 - - m_start_GlobalMaskDistanceM_10: 0 - - m_start_GlobalMaskDistanceM_11: 0 - - m_start_GlobalMaskDistanceM_12: 0 - - m_start_GlobalMaskDistanceM_13: 0 - - m_start_GlobalMaskDistanceM_14: 0 - - m_start_GlobalMaskDistanceM_15: 0 - - m_start_GlobalMaskDistanceM_2: 0 - - m_start_GlobalMaskDistanceM_3: 0 - - m_start_GlobalMaskDistanceM_4: 0 - - m_start_GlobalMaskDistanceM_5: 0 - - m_start_GlobalMaskDistanceM_6: 0 - - m_start_GlobalMaskDistanceM_7: 0 - - m_start_GlobalMaskDistanceM_8: 0 - - m_start_GlobalMaskDistanceM_9: 0 - - m_start_GlobalMaskModifiers: 0 - - m_start_GlobalMaskModifiersBackface: 0 - - m_start_GlobalMaskModifiersCamera: 0 - - m_start_GlobalMaskModifiersDistance: 0 - - m_start_GlobalMaskModifiersMirror: 0 - - m_start_GlobalMaskOptions: 0 - - m_start_GlobalMaskTextures: 0 - - m_start_GlobalMaskVertexColors: 0 - - m_start_GlobalThemeColor0: 0 - - m_start_GlobalThemeColor1: 0 - - m_start_GlobalThemeColor2: 0 - - m_start_GlobalThemeColor3: 0 - - m_start_GlobalThemes: 0 - - m_start_LTCGI: 0 - - m_start_MainVertexColors: 0 - - m_start_Matcap2: 0 - - m_start_Matcap3: 0 - - m_start_Matcap4: 0 - - m_start_OutlineAudioLink: 0 - - m_start_OutlineStencil: 0 - - m_start_OutlineStencilPassBackOptions: 0 - - m_start_OutlineStencilPassFrontOptions: 0 - - m_start_PPAnimations: 0 - - m_start_PathAudioLink: 0 - - m_start_PoiGlobalCategory: 0 - - m_start_PoiLightData: 0 - - m_start_PoiPostProcessingCategory: 0 - - m_start_PoiShading: 0 - - m_start_PoiUVCategory: 0 - - m_start_RGBMask: 0 - - m_start_Rim2AudioLink: 0 - - m_start_RimAudioLink: 0 - - m_start_SphericalDissolve: 0 - - m_start_StencilPassBackOptions: 0 - - m_start_StencilPassFrontOptions: 0 - - m_start_StencilPassOptions: 0 - - m_start_Stochastic: 0 - - m_start_Text: 0 - - m_start_TextFPS: 0 - - m_start_TextInstanceTime: 0 - - m_start_TextNumeric: 0 - - m_start_TextPosition: 0 - - m_start_UVTileDissolve: 0 - - m_start_UVTileDissolveRow0: 0 - - m_start_UVTileDissolveRow1: 0 - - m_start_UVTileDissolveRow2: 0 - - m_start_UVTileDissolveRow3: 0 - - m_start_VideoSettings: 0 - - m_start_VoronoiAudioLink: 0 - - m_start_alphaBlending: 0 - - m_start_audioLink: 0 - - m_start_audioLinkOverrides: 0 - - m_start_backFace: 0 - - m_start_backlight: 0 - - m_start_blending: 0 - - m_start_brdf: 0 - - m_start_clearCoat: 0 - - m_start_clearcoatadvanced: 0 - - m_start_clearcoatglobalmask: 0 - - m_start_depthFX: 0 - - m_start_depthRimLightOptions: 0 - - m_start_dissolve: 0 - - m_start_dissolveHueShift: 0 - - m_start_emission1Options: 0 - - m_start_emission2Options: 0 - - m_start_emission3Options: 0 - - m_start_emissionOptions: 0 - - m_start_flipBook: 0 - - m_start_glitter: 0 - - m_start_internalparallax: 0 - - m_start_matcap: 1 - - m_start_mirrorOptions: 0 - - m_start_normalCorrect: 0 - - m_start_outlineAlphaBlending: 0 - - m_start_outlineBlending: 0 - - m_start_parallax: 0 - - m_start_pathing: 0 - - m_start_pointToPoint: 0 - - m_start_postprocess: 0 - - m_start_reflectionRim: 0 - - m_start_rim2LightOptions: 0 - - m_start_rimLight1Options: 0 - - m_start_stylizedSpec: 0 - - m_start_subsurfaceScattering: 0 - - m_start_udimdiscardOptions: 0 - - m_start_uvDistortion: 0 - - m_start_uvLocalWorld: 0 - - m_start_uvPanosphere: 0 - - m_start_uvPolar: 0 - - m_start_vertexGlitching: 0 - - m_start_vertexManipulation: 0 - - m_start_videoEffects: 0 - - m_start_voronoi: 0 - - m_start_voronoiRandom: 0 - - m_thirdpartyCategory: 0 - - s_end_ALAlpha: 0 - - s_end_ALSpectrumMotion: 0 - - s_end_ALVertexGlitching: 0 - - s_end_ALVertexHeight: 0 - - s_end_AlphaAdvanced: 0 - - s_end_AlphaAngular: 0 - - s_end_AlphaDistanceFade: 0 - - s_end_AlphaDithering: 0 - - s_end_AlphaFresnel: 0 - - s_end_AlphaToCoverage: 0 - - s_end_AnisoBottomLayer: 0 - - s_end_AnisoTopLayer: 1 - - s_end_AudioLinkBandOverrides: 0 - - s_end_BRDFTPSMaskGroup: 0 - - s_end_BackFaceHueShift: 0 - - s_end_BackfaceMods: 0 - - s_end_CCopt: 1 - - s_end_ClearCoatTPSMaskGroup: 0 - - s_end_ColorAdjustColorGrading: 0 - - s_end_ContinuousRotation: 0 - - s_end_CubeMapColorAdjust: 0 - - s_end_CubeMapMasking: 0 - - s_end_Decal0ChannelSeparation: 0 - - s_end_Decal0GlobalMasking: 0 - - s_end_Decal0HueShift: 0 - - s_end_Decal0Video: 0 - - s_end_Decal1ChannelSeparation: 0 - - s_end_Decal1GlobalMasking: 0 - - s_end_Decal1HueShift: 0 - - s_end_Decal1Video: 0 - - s_end_Decal2ChannelSeparation: 0 - - s_end_Decal2GlobalMasking: 0 - - s_end_Decal2HueShift: 0 - - s_end_Decal2Video: 0 - - s_end_Decal3ChannelSeparation: 0 - - s_end_Decal3GlobalMasking: 0 - - s_end_Decal3HueShift: 0 - - s_end_Decal3Video: 0 - - s_end_DecalTPSMaskGroup: 0 - - s_end_DepthAlpha: 0 - - s_end_DepthFXColorEmission: 0 - - s_end_DetailNormal: 0 - - s_end_DetailTexture: 0 - - s_end_EmissionAL0Add: 0 - - s_end_EmissionAL0COut: 0 - - s_end_EmissionAL0Multiply: 0 - - s_end_EmissionAL1Add: 0 - - s_end_EmissionAL1COut: 0 - - s_end_EmissionAL1Multiply: 0 - - s_end_EmissionAL2Add: 0 - - s_end_EmissionAL2COut: 0 - - s_end_EmissionAL2Multiply: 0 - - s_end_EmissionAL3Add: 0 - - s_end_EmissionAL3COut: 0 - - s_end_EmissionAL3Multiply: 0 - - s_end_EmissionBlinking0: 0 - - s_end_EmissionBlinking1: 0 - - s_end_EmissionBlinking2: 0 - - s_end_EmissionBlinking3: 0 - - s_end_EmissionCenterOut0: 0 - - s_end_EmissionCenterOutEnabled1: 0 - - s_end_EmissionCenterOutEnabled2: 0 - - s_end_EmissionCenterOutEnabled3: 0 - - s_end_EmissionHueShift0: 0 - - s_end_EmissionHueShift1: 0 - - s_end_EmissionHueShift2: 0 - - s_end_EmissionHueShift3: 0 - - s_end_EmissionLightBased0: 0 - - s_end_EmissionLightBased1: 0 - - s_end_EmissionLightBased2: 0 - - s_end_EmissionLightBased3: 0 - - s_end_EmissionScrolling1: 0 - - s_end_EmissionScrolling2: 0 - - s_end_EmissionScrolling3: 0 - - s_end_FixedRimBlending: 0 - - s_end_FixedRimColor: 0 - - s_end_FixedRimShapeControl: 0 - - s_end_FlipBookAdvanced: 0 - - s_end_FlipbookCrossfade: 0 - - s_end_FlipbookHueShift: 0 - - s_end_FlipbookManualFrameControl: 0 - - s_end_FlipbookStartAndEnd: 0 - - s_end_GlitterAudioLink: 0 - - s_end_GlitterColorAndShape: 0 - - s_end_GlitterHueShiftSection: 0 - - s_end_GlitterMask: 0 - - s_end_GlitterPositionSize: 0 - - s_end_GlitterRotationSection: 0 - - s_end_GlitterSparkleControl: 0 - - s_end_GlobalMaskOptionsForceToggles: 0 - - s_end_GlobalMaskOptionsMinMaxSliders: 0 - - s_end_GlobalMaskOptionsSliders: 0 - - s_end_LightDataAddPass: 1 - - s_end_LightDataBasePass: 1 - - s_end_LightDataDebug: 0 - - s_end_LocalRotation: 0 - - s_end_LocalTranslation: 0 - - s_end_MainHueShift: 0 - - s_end_MainHueShiftAL: 0 - - s_end_MainHueShiftGlobalMask: 0 - - s_end_Matcap0AudioLink: 0 - - s_end_Matcap0Blending: 0 - - s_end_Matcap0Masking: 0 - - s_end_Matcap1AudioLink: 0 - - s_end_Matcap1Blending: 0 - - s_end_Matcap1HueShift: 0 - - s_end_Matcap1Masking: 0 - - s_end_Matcap1Normal: 0 - - s_end_Matcap1Smoothness: 0 - - s_end_Matcap2AudioLink: 0 - - s_end_Matcap2Blending: 0 - - s_end_Matcap2HueShift: 0 - - s_end_Matcap2Masking: 0 - - s_end_Matcap2Normal: 0 - - s_end_Matcap2Smoothness: 0 - - s_end_Matcap2TPSMaskGroup: 0 - - s_end_Matcap3AudioLink: 0 - - s_end_Matcap3Blending: 0 - - s_end_Matcap3HueShift: 0 - - s_end_Matcap3Masking: 0 - - s_end_Matcap3Normal: 0 - - s_end_Matcap3Smoothness: 0 - - s_end_Matcap3TPSMaskGroup: 0 - - s_end_Matcap4TPSMaskGroup: 0 - - s_end_MatcapHueShift: 0 - - s_end_MatcapNormal: 0 - - s_end_MatcapSmoothness: 0 - - s_end_MatcapTPSMaskGroup: 0 - - s_end_MirrorTexture: 0 - - s_end_MultilayerMath1stLayer: 1 - - s_end_MultilayerMath2ndLayer: 0 - - s_end_MultilayerMath3rdLayer: 0 - - s_end_MultilayerMathBorder: 1 - - s_end_MultilayerMathBorderMap: 1 - - s_end_OutlineAlphaDistanceFade: 0 - - s_end_OutlineColorAdjust: 0 - - s_end_OutlineFixedSize: 0 - - s_end_OutlineLighting: 0 - - s_end_OutlineRenderingOptions: 0 - - s_end_PBRSecondSpecular: 0 - - s_end_PBRSplitMaskSample: 0 - - s_end_ParallaxInternalHueShift: 0 - - s_end_ParallaxInternalLayerColoring: 0 - - s_end_ParallaxInternalLayerControls: 0 - - s_end_Positioning: 0 - - s_end_RGBAlpha: 0 - - s_end_RGBBlue: 0 - - s_end_RGBGreen: 0 - - s_end_RGBRed: 0 - - s_end_RimLight0Color: 0 - - s_end_RimLight0GlobalMasking: 0 - - s_end_RimLight0HueShift: 0 - - s_end_RimLight0LightDirMask: 0 - - s_end_RimLight0ShapeControls: 0 - - s_end_RimLight1Color: 0 - - s_end_RimLight1GlobalMasking: 0 - - s_end_RimLight1HueShift: 0 - - s_end_RimLight1LightDirMask: 0 - - s_end_RimLight1ShapeControls: 0 - - s_end_RimLight2DirectionMask: 0 - - s_end_RimLightDirectionMask: 0 - - s_end_ScrollingEmission0: 0 - - s_end_ShadingAddPass: 0 - - s_end_ShadingGlobalMask: 0 - - s_end_StylizedSpecularAdvanced: 0 - - s_end_StylizedSpecularLayer0: 0 - - s_end_StylizedSpecularLayer1: 0 - - s_end_VertAL: 0 - - s_end_VertexBarrelMode: 0 - - s_end_VertexColors: 0 - - s_end_VertexGlitchMirror: 0 - - s_end_VertexGlitchTexture: 0 - - s_end_VertexManipulationHeight: 0 - - s_end_VertexRoundingAL: 0 - - s_end_VertexScale: 0 - - s_end_VertexSphereMode: 0 - - s_end_VertexTornadoMode: 0 - - s_end_WorldTranslation: 0 - - s_end_brdfadvanced: 0 - - s_end_decal1_position: 0 - - s_end_decal2_position: 0 - - s_end_decal3_position: 0 - - s_end_decal_position: 0 - - s_end_deliot: 0 - - s_end_fogOpt: 1 - - s_end_heightFogOpt: 1 - - s_end_hextile: 0 - - s_end_liltoon_rim2_lightdir: 0 - - s_end_liltoon_rim_lightdir: 0 - - s_end_matcap1ApplyToAlpha: 0 - - s_end_matcap2ApplyToAlpha: 0 - - s_end_matcap3ApplyToAlpha: 0 - - s_end_matcapApplyToAlpha: 0 - - s_end_outline_al_color: 0 - - s_end_vertexRounding: 0 - - s_start_ALAlpha: 0 - - s_start_ALSpectrumMotion: 0 - - s_start_ALVertexGlitching: 0 - - s_start_ALVertexHeight: 0 - - s_start_AlphaAdvanced: 0 - - s_start_AlphaAngular: 0 - - s_start_AlphaDistanceFade: 0 - - s_start_AlphaDithering: 0 - - s_start_AlphaFresnel: 0 - - s_start_AlphaToCoverage: 0 - - s_start_AnisoBottomLayer: 0 - - s_start_AnisoTopLayer: 1 - - s_start_AudioLinkBandOverrides: 1 - - s_start_BRDFTPSMaskGroup: 0 - - s_start_BackFaceHueShift: 0 - - s_start_BackfaceMods: 0 - - s_start_CCopt: 1 - - s_start_ClearCoatTPSMaskGroup: 0 - - s_start_ColorAdjustColorGrading: 0 - - s_start_ContinuousRotation: 0 - - s_start_CubeMapColorAdjust: 0 - - s_start_CubeMapMasking: 1 - - s_start_Decal0ChannelSeparation: 0 - - s_start_Decal0GlobalMasking: 0 - - s_start_Decal0HueShift: 0 - - s_start_Decal0Video: 0 - - s_start_Decal1ChannelSeparation: 0 - - s_start_Decal1GlobalMasking: 0 - - s_start_Decal1HueShift: 0 - - s_start_Decal1Video: 0 - - s_start_Decal2ChannelSeparation: 0 - - s_start_Decal2GlobalMasking: 0 - - s_start_Decal2HueShift: 0 - - s_start_Decal2Video: 0 - - s_start_Decal3ChannelSeparation: 0 - - s_start_Decal3GlobalMasking: 0 - - s_start_Decal3HueShift: 0 - - s_start_Decal3Video: 0 - - s_start_DecalTPSMaskGroup: 0 - - s_start_DepthAlpha: 0 - - s_start_DepthFXColorEmission: 0 - - s_start_DetailNormal: 0 - - s_start_DetailTexture: 0 - - s_start_EmissionAL0Add: 0 - - s_start_EmissionAL0COut: 0 - - s_start_EmissionAL0Multiply: 0 - - s_start_EmissionAL1Add: 0 - - s_start_EmissionAL1COut: 0 - - s_start_EmissionAL1Multiply: 0 - - s_start_EmissionAL2Add: 0 - - s_start_EmissionAL2COut: 0 - - s_start_EmissionAL2Multiply: 0 - - s_start_EmissionAL3Add: 0 - - s_start_EmissionAL3COut: 0 - - s_start_EmissionAL3Multiply: 0 - - s_start_EmissionBlinking0: 0 - - s_start_EmissionBlinking1: 0 - - s_start_EmissionBlinking2: 0 - - s_start_EmissionBlinking3: 0 - - s_start_EmissionCenterOut0: 0 - - s_start_EmissionCenterOut2: 0 - - s_start_EmissionCenterOutEnabled1: 0 - - s_start_EmissionCenterOutEnabled3: 0 - - s_start_EmissionHueShift0: 0 - - s_start_EmissionHueShift1: 0 - - s_start_EmissionHueShift2: 0 - - s_start_EmissionHueShift3: 0 - - s_start_EmissionLightBased0: 0 - - s_start_EmissionLightBased1: 0 - - s_start_EmissionLightBased2: 0 - - s_start_EmissionLightBased3: 0 - - s_start_EmissionScrolling1: 0 - - s_start_EmissionScrolling2: 0 - - s_start_EmissionScrolling3: 0 - - s_start_FixedRimBlending: 1 - - s_start_FixedRimColor: 1 - - s_start_FixedRimShapeControl: 1 - - s_start_FlipBookAdvanced: 0 - - s_start_FlipbookCrossfade: 0 - - s_start_FlipbookHueShift: 0 - - s_start_FlipbookManualFrameControl: 0 - - s_start_FlipbookStartAndEnd: 0 - - s_start_GlitterAudioLink: 0 - - s_start_GlitterColorAndShape: 1 - - s_start_GlitterHueShiftSection: 0 - - s_start_GlitterMask: 0 - - s_start_GlitterPositionSize: 1 - - s_start_GlitterRotationSection: 0 - - s_start_GlitterSparkleControl: 1 - - s_start_GlobalMaskOptionsForceToggles: 0 - - s_start_GlobalMaskOptionsMinMaxSliders: 0 - - s_start_GlobalMaskOptionsSliders: 0 - - s_start_LightDataAddPass: 1 - - s_start_LightDataBasePass: 1 - - s_start_LightDataDebug: 0 - - s_start_LocalRotation: 0 - - s_start_LocalTranslation: 0 - - s_start_MainHueShift: 1 - - s_start_MainHueShiftAL: 0 - - s_start_MainHueShiftGlobalMask: 0 - - s_start_Matcap0AudioLink: 0 - - s_start_Matcap0Blending: 1 - - s_start_Matcap0Masking: 1 - - s_start_Matcap1AudioLink: 0 - - s_start_Matcap1Blending: 1 - - s_start_Matcap1HueShift: 0 - - s_start_Matcap1Masking: 1 - - s_start_Matcap1Normal: 0 - - s_start_Matcap1Smoothness: 0 - - s_start_Matcap2AudioLink: 0 - - s_start_Matcap2Blending: 1 - - s_start_Matcap2HueShift: 0 - - s_start_Matcap2Masking: 1 - - s_start_Matcap2Normal: 0 - - s_start_Matcap2Smoothness: 0 - - s_start_Matcap2TPSMaskGroup: 0 - - s_start_Matcap3AudioLink: 0 - - s_start_Matcap3Blending: 1 - - s_start_Matcap3HueShift: 0 - - s_start_Matcap3Masking: 1 - - s_start_Matcap3Normal: 0 - - s_start_Matcap3Smoothness: 0 - - s_start_Matcap3TPSMaskGroup: 0 - - s_start_Matcap4TPSMaskGroup: 0 - - s_start_MatcapHueShift: 0 - - s_start_MatcapNormal: 0 - - s_start_MatcapSmoothness: 0 - - s_start_MatcapTPSMaskGroup: 0 - - s_start_MirrorTexture: 1 - - s_start_MultilayerMath1stLayer: 1 - - s_start_MultilayerMath2ndLayer: 0 - - s_start_MultilayerMath3rdLayer: 0 - - s_start_MultilayerMathBorder: 1 - - s_start_MultilayerMathBorderMap: 0 - - s_start_OutlineAlphaDistanceFade: 0 - - s_start_OutlineColorAdjust: 0 - - s_start_OutlineFixedSize: 0 - - s_start_OutlineLighting: 0 - - s_start_OutlineRenderingOptions: 0 - - s_start_PBRSecondSpecular: 0 - - s_start_PBRSplitMaskSample: 0 - - s_start_ParallaxInternalHueShift: 0 - - s_start_ParallaxInternalLayerColoring: 1 - - s_start_ParallaxInternalLayerControls: 1 - - s_start_Positioning: 1 - - s_start_RGBAlpha: 0 - - s_start_RGBBlue: 0 - - s_start_RGBGreen: 0 - - s_start_RGBRed: 0 - - s_start_RimLight0Color: 1 - - s_start_RimLight0GlobalMasking: 0 - - s_start_RimLight0HueShift: 0 - - s_start_RimLight0LightDirMask: 0 - - s_start_RimLight0ShapeControls: 1 - - s_start_RimLight1Color: 1 - - s_start_RimLight1GlobalMasking: 0 - - s_start_RimLight1HueShift: 0 - - s_start_RimLight1LightDirMask: 0 - - s_start_RimLight1ShapeControls: 1 - - s_start_RimLight2DirectionMask: 0 - - s_start_RimLightDirectionMask: 0 - - s_start_ScrollingEmission0: 0 - - s_start_ShadingAddPass: 0 - - s_start_ShadingGlobalMask: 0 - - s_start_StylizedSpecularAdvanced: 0 - - s_start_StylizedSpecularLayer0: 1 - - s_start_StylizedSpecularLayer1: 1 - - s_start_VertAL: 0 - - s_start_VertexBarrelMode: 0 - - s_start_VertexColors: 0 - - s_start_VertexGlitchMirror: 0 - - s_start_VertexGlitchTexture: 1 - - s_start_VertexManipulationHeight: 1 - - s_start_VertexScale: 0 - - s_start_VertexSphereMode: 0 - - s_start_VertexTornadoMode: 0 - - s_start_WorldTranslation: 0 - - s_start_brdfadvanced: 0 - - s_start_decal1_position: 1 - - s_start_decal2_position: 1 - - s_start_decal3_position: 1 - - s_start_decal_position: 1 - - s_start_deliot: 0 - - s_start_fogOpt: 1 - - s_start_heightFogOpt: 1 - - s_start_hextile: 0 - - s_start_liltoon_rim2_lightdir: 0 - - s_start_liltoon_rim_lightdir: 0 - - s_start_matcap1ApplyToAlpha: 0 - - s_start_matcap2ApplyToAlpha: 0 - - s_start_matcap3ApplyToAlpha: 0 - - s_start_matcapApplyToAlpha: 0 - - s_start_outline_al_color: 0 - - s_start_vertexRounding: 0 - - s_start_vertexRoundingAL: 0 - - shader_is_using_thry_editor: 69 - - shader_locale: 0 - - shader_master_label: 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} - - _ALDecalColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ALDecalVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALDecalVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALDecalVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _ALDecaldCircleDimensions: {r: 0, g: 1, b: 0, a: 1} - - _ALUVPosition: {r: 0.5, g: 0.5, b: 1, a: 1} - - _ALUVScale: {r: 1, g: 1, b: 1, a: 1} - - _ALVolumeColorHigh: {r: 1, g: 0, b: 0, a: 1} - - _ALVolumeColorLow: {r: 0, g: 0, b: 1, a: 1} - - _ALVolumeColorMid: {r: 0, g: 1, b: 0, a: 1} - - _AlphaAudioLinkAddRange: {r: 0, g: 0, b: 0, a: 1} - - _AlphaColor: {r: 1, g: 1, b: 1, a: 1} - - _AlphaMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _AlphaTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _AngleForwardDirection: {r: 0, g: 0, b: 1, a: 1} - - _Aniso0Tint: {r: 1, g: 1, b: 1, a: 1} - - _Aniso1Tint: {r: 1, g: 1, b: 1, a: 1} - - _AnisoColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Ap_Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkBandOverrideSliders: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0ChannelSeparation: {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} - - _AudioLinkDecal0SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal0SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1ChannelSeparation: {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} - - _AudioLinkDecal1SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal1SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2ChannelSeparation: {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} - - _AudioLinkDecal2SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal2SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3Alpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3ChannelSeparation: {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} - - _AudioLinkDecal3SideMax: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDecal3SideMin: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDefaultValue: {r: 0, g: 0, b: 2, a: 0.75} - - _AudioLinkDissolveAlpha: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkDissolveDetail: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission0CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission1CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission2CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkEmission3CenterOut: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkFlipbookAlpha: {r: 0, g: 0, 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} - - _AudioLinkLocalMapParams: {r: 120, g: 1, b: 0, a: 0} - - _AudioLinkMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _AudioLinkOutlineColorMod: {r: 0, g: 1, b: 0, a: 0} - - _AudioLinkOutlineEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkOutlineSize: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkPathEmissionAddA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathEmissionAddR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathTimeOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _AudioLinkPathWidthOffsetA: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetB: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetG: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkPathWidthOffsetR: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkRim2BrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2EmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkRim2WidthAdd: {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} - - _AudioLinkStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVertexStart: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVertexStrength: {r: 0, g: 0, b: 0, a: 1} - - _AudioLinkVertexUVParams: {r: 0.25, g: 0, b: 0, a: 0.125} - - _AudioLinkVoronoiInnerEmission: {r: 0, g: 0, b: 0, a: 0} - - _AudioLinkVoronoiOuterEmission: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceColor: {r: 1, g: 1, b: 1, a: 1} - - _BackFaceMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _BackFaceTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BackfaceColor: {r: 0, g: 0, b: 0, a: 0} - - _BacklightColor: {r: 0.85, g: 0.8, b: 0.7, a: 1} - - _BacklightColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BlackLightMasking0Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking1Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking2Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlackLightMasking3Range: {r: 0.1, g: 0.5, b: 0, a: 0} - - _BlueColor: {r: 1, g: 1, b: 1, a: 1} - - _BlueTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _BumpMapPan: {r: 0, g: 0, b: 0, a: 0} - - _CenterOutDissolveDirection: {r: 0, g: 0, b: 1, a: 0} - - _ClearCoatMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _ClearCoatReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _ClearCoatSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _ClothMetallicSmoothnessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color2nd: {r: 1, g: 1, b: 1, a: 1} - - _Color3rd: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapColor: {r: 1, g: 1, b: 1, a: 1} - - _CubeMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotation: {r: 0, g: 0, b: 0, a: 0} - - _CubeMapRotationPan: {r: 0, g: 0, b: 0, 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: 1, a: 0} - - _DecalScale1: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale2: {r: 1, g: 1, b: 1, a: 0} - - _DecalScale3: {r: 1, g: 1, b: 1, a: 0} - - _DecalSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset1: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset2: {r: 0, g: 0, b: 0, a: 0} - - _DecalSideOffset3: {r: 0, g: 0, 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} - - _DepthColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DepthRimColor: {r: 1, g: 1, b: 1, a: 1} - - _DepthTexturePan: {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} - - _DissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _DissolveNoiseTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _DissolvePos: {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} - - _DistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _DistanceFadeColor: {r: 0, g: 0, b: 0, a: 1} - - _DistanceFadeRimColor: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionFlowTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrength1AudioLink: {r: 0, g: 0, b: 0, a: 0} - - _DistortionStrengthAudioLink: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Emission2ndBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _Emission2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _Emission2ndMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL0Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL0StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL1Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL1StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL2Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL2StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionAL3Multipliers: {r: 1, g: 1, b: 0, a: 0} - - _EmissionAL3StrengthMod: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlendMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionBlink: {r: 0, g: 0, b: 3.141593, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor1: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor2: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor3: {r: 1, g: 1, b: 1, a: 1} - - _EmissionMap1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMapPan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMap_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask1Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask2Pan: {r: 0, g: 0, b: 0, a: 0} - - _EmissionMask3Pan: {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} - - _EmissiveScroll_Direction2: {r: 0, g: -10, b: 0, a: 0} - - _EmissiveScroll_Direction3: {r: 0, g: -10, b: 0, a: 0} - - _FXProximityColorMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _FXProximityColorMinColor: {r: 0, g: 0, b: 0, a: 1} - - _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} - - _FlipbookSideOffset: {r: 0, g: 0, b: 0, a: 0} - - _FlipbookTexArrayPan: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALMaxBrightnessAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterALSizeAdd: {r: 0, g: 0, b: 0, a: 0} - - _GlitterAtras: {r: 1, g: 1, 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} - - _GlitterParams1: {r: 256, g: 256, b: 0.16, a: 50} - - _GlitterParams2: {r: 0.25, g: 0, b: 0, a: 0} - - _GlitterRandomRotationSpeed: {r: 0, g: 0, b: 0, a: 0} - - _GlitterUVPanning: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskMinMaxSlider_0: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_1: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_10: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_11: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_12: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_13: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_14: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_15: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_2: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_3: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_4: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_5: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_6: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_7: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_8: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskMinMaxSlider_9: {r: 0, g: 1, b: 0, a: 1} - - _GlobalMaskTexture0Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture0SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture1SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture2SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3Pan: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_A: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_B: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitPan_G: {r: 0, g: 0, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_A: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_B: {r: 1, g: 1, b: 0, a: 0} - - _GlobalMaskTexture3SplitTilingOffset_G: {r: 1, g: 1, b: 0, a: 0} - - _GlobalThemeColor0: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor1: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor2: {r: 1, g: 1, b: 1, a: 1} - - _GlobalThemeColor3: {r: 1, g: 1, b: 1, a: 1} - - _GreenColor: {r: 1, g: 1, b: 1, a: 1} - - _GreenTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _HeightMapPan: {r: 0, g: 0, b: 0, a: 0} - - _HeightmaskPan: {r: 0, g: 0, b: 0, a: 0} - - _HighColor: {r: 1, g: 1, b: 1, a: 1} - - _HighColor_TexPan: {r: 0, g: 0, b: 0, a: 0} - - _Keys: {r: 0, g: 0, b: 0, a: 0} - - _LTCGI_DiffuseColor: {r: 1, g: 1, b: 1, a: 1} - - _LTCGI_SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _LightDirectionOverride: {r: 0.001, g: 0.002, b: 0.001, a: 0} - - _LightingAOMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingDetailShadowMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingForcedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowColor: {r: 1, g: 1, b: 1, a: 1} - - _LightingShadowMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _LightingWrappedColor: {r: 1, g: 1, b: 1, a: 1} - - _LightngForcedDirection: {r: 0, g: 0, b: 0, a: 1} - - _LineColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main2ndDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main2ndDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main2ndDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main2ndTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main2ndTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main2ndTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveColor: {r: 1, g: 1, b: 1, a: 1} - - _Main3rdDissolveNoiseMask_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDissolveParams: {r: 0, g: 0, b: 0.5, a: 0.1} - - _Main3rdDissolvePos: {r: 0, g: 0, b: 0, a: 0} - - _Main3rdDistanceFade: {r: 0.1, g: 0.01, b: 0, a: 0} - - _Main3rdTexDecalAnimation: {r: 1, g: 1, b: 1, a: 30} - - _Main3rdTexDecalSubParam: {r: 1, g: 1, b: 0, a: 1} - - _Main3rdTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MainColorAdjustTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MainTexHSVG: {r: 0.142, g: 0.82, b: 0.39, a: 1} - - _MainTexPan: {r: 0, g: 0, b: 0, a: 0} - - _MainTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap2ndColor: {r: 1, g: 1, b: 1, a: 1} - - _MatCap3rdBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCap4thBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapBlendUV1: {r: 0, g: 0, b: 0, a: 0} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Matcap0ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap0NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap1NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2ALIntensityAdd: {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} - - _Matcap2NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap2Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALAlphaAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALEmissionAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3ALIntensityAdd: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap3MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3NormalMapPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap3Pan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Color: {r: 1, g: 1, b: 1, a: 1} - - _Matcap4MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Matcap4Pan: {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} - - _MatcapPan: {r: 0, g: 0, b: 0, a: 0} - - _MirrorColor: {r: 1, g: 1, b: 1, a: 1} - - _MirrorTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieMetallicMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _MochieReflectionTint: {r: 1, g: 1, b: 1, a: 1} - - _MochieSpecularTint: {r: 1, g: 1, b: 1, a: 1} - - _MultilayerMathBlurMapPan: {r: 0, g: 0, b: 0, a: 0} - - _NormalCorrectOrigin: {r: 0, g: 0.4, b: -0.025, a: 1} - - _OutlineColor: {r: 0.5754717, g: 0.36796463, b: 0.3501691, a: 1} - - _OutlineDropShadowOffset: {r: 1, g: 0, b: 0, a: 0} - - _OutlineLitColor: {r: 1, g: 0.19999996, b: 0, a: 0} - - _OutlineMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _OutlinePersonaDirection: {r: 1, g: 0, b: 0, a: 0} - - _OutlineTexHSVG: {r: 0, g: 1, b: 1, a: 1} - - _OutlineTex_ScrollRotate: {r: 0, g: 0, b: 0, a: 0} - - _OutlineTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _PBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _PPMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _PPRGB: {r: 1, g: 1, b: 1, a: 1} - - _PPTint: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMapMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ParallaxInternalMapPan: {r: 0, g: 0, b: 1, a: 1} - - _ParallaxInternalMaxColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalMinColor: {r: 1, g: 1, b: 1, a: 1} - - _ParallaxInternalPanDepthSpeed: {r: 0, g: 0, b: 1, a: 1} - - _PathALAutoCorrelatorRangeA: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeB: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeG: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALAutoCorrelatorRangeR: {r: 0.1, g: 0.9, b: 0, a: 1} - - _PathALHistoryRangeA: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeB: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeG: {r: 0, g: 1, b: 0, a: 1} - - _PathALHistoryRangeR: {r: 0, g: 1, b: 0, a: 1} - - _PathColorA: {r: 1, g: 1, b: 1, a: 1} - - _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: 0} - - _PathOffset: {r: 0, g: 0, b: 0, a: 0} - - _PathSegments: {r: 0, g: 0, b: 0, a: 0} - - _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: -999} - - _PathWidth: {r: 0.03, g: 0.03, b: 0.03, a: 0.03} - - _PathingColorMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PathingMapPan: {r: 0, g: 0, b: 0, a: 0} - - _PolarCenter: {r: 0.5, g: 0.5, b: 0, a: 0} - - _RGBAAlphaPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAAlphaPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBABluePBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBABluePBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAGreenPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBAGreenPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBAMetallicMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBARedPBRMaskScaleTiling: {r: 1, g: 1, b: 0, a: 0} - - _RGBARedPBRMasksPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBASmoothnessMapsPan: {r: 0, g: 0, b: 0, a: 0} - - _RGBMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RedColor: {r: 1, g: 1, b: 1, a: 1} - - _RedTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _ReflectionColor: {r: 1, g: 1, b: 1, a: 1} - - _ReflectionCubeColor: {r: 0, g: 0, b: 0, 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} - - _Rim2Color: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _Rim2ColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2IndirColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2LightColor: {r: 1, g: 1, b: 1, a: 1} - - _Rim2MaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Rim2ShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _Rim2TexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimColor: {r: 0.65999997, g: 0.5, b: 0.47999996, a: 1} - - _RimColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _RimEnviroMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimIndirColor: {r: 1, g: 1, b: 1, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _RimMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _RimShadeColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimShadowAlpha: {r: 0, g: 0, b: 0, a: 1} - - _RimTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SDFForward: {r: 0, g: 0, b: 1, a: 0} - - _SDFLeft: {r: -1, g: 0, b: 0, a: 0} - - _SDFShadingTexturePan: {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} - - _Set_HighColorMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_Rim2LightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Set_RimLightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow2ndColor: {r: 0.68, g: 0.65999997, b: 0.78999996, a: 1} - - _Shadow2ndColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColor: {r: 0, g: 0, b: 0, a: 0} - - _Shadow3rdColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowAOShift: {r: 1, g: 0, b: 1, a: 0} - - _ShadowAOShift2: {r: 1, g: 0, b: 1, a: 0} - - _ShadowBorderColor: {r: 1, g: 0.09999997, b: 0, a: 1} - - _ShadowBorderMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _ShadowColor: {r: 0.82, g: 0.76, b: 0.85, a: 1} - - _ShadowColorTexPan: {r: 0, g: 0, b: 0, a: 0} - - _SkinThicknessMapPan: {r: 0, g: 0, b: 0, a: 0} - - _SphericalDissolveCenter: {r: 0, g: 0, 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} - - _TextFPSColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSOutlineColor: {r: 1, g: 1, b: 1, a: 1} - - _TextFPSPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextFPSScale: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericColor: {r: 1, g: 1, b: 1, a: 1} - - _TextNumericOffset: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericPadding: {r: 0, g: 0, b: 0, a: 0} - - _TextNumericScale: {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} - - _VertexLocalRotationAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalRotationCTALSpeed: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalScaleALMax: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalScaleALMin: {r: 0, g: 0, b: 0, a: 0} - - _VertexLocalTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexLocalTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationHeightMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VertexManipulationLocalRotation: {r: 0, g: 0, b: 0, a: 1} - - _VertexManipulationLocalRotationSpeed: {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} - - _VertexRoundingRangeAL: {r: 0, g: 0, b: 0, a: 1} - - _VertexSpectrumOffsetMax: {r: 0, g: 0.1, b: 0, a: 1} - - _VertexSpectrumOffsetMin: {r: 0, g: 0, b: 0, a: 1} - - _VertexSphereCenter: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMax: {r: 0, g: 0, b: 0, a: 1} - - _VertexWorldTranslationALMin: {r: 0, g: 0, b: 0, a: 1} - - _VideoMaskTexturePan: {r: 0, g: 0, b: 0, a: 0} - - _VideoResolution: {r: 1280, g: 720, b: 0, a: 0} - - _VoronoiGradient: {r: 0, g: 0.5, b: 0, a: 0} - - _VoronoiInnerColor: {r: 1, g: 1, b: 1, a: 1} - - _VoronoiMaskPan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiNoisePan: {r: 0, g: 0, b: 0, a: 0} - - _VoronoiOuterColor: {r: 0, g: 0, b: 0, a: 1} - - _VoronoiRandomMinMaxBrightness: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiRandomMinMaxSaturation: {r: 0.8, g: 1, b: 0, a: 1} - - _VoronoiSpeed: {r: 1, g: 1, b: 1, a: 1} - - _e2ga0: {r: 1, g: 0, b: 0, a: 0} - - _e2ga1: {r: 1, g: 0, b: 0, a: 1} - - _e2ga2: {r: 1, g: 0, b: 0, a: 0} - - _e2ga3: {r: 1, g: 0, b: 0, a: 0} - - _e2ga4: {r: 1, g: 0, b: 0, a: 0} - - _e2ga5: {r: 1, g: 0, b: 0, a: 0} - - _e2ga6: {r: 1, g: 0, b: 0, a: 0} - - _e2ga7: {r: 1, g: 0, b: 0, a: 0} - - _e2gc0: {r: 1, g: 1, b: 1, a: 0} - - _e2gc1: {r: 1, g: 1, b: 1, a: 1} - - _e2gc2: {r: 1, g: 1, b: 1, a: 0} - - _e2gc3: {r: 1, g: 1, b: 1, a: 0} - - _e2gc4: {r: 1, g: 1, b: 1, a: 0} - - _e2gc5: {r: 1, g: 1, b: 1, a: 0} - - _e2gc6: {r: 1, g: 1, b: 1, a: 0} - - _e2gc7: {r: 1, g: 1, b: 1, a: 0} - - _ega0: {r: 1, g: 0, b: 0, a: 0} - - _ega1: {r: 1, g: 0, b: 0, a: 1} - - _ega2: {r: 1, g: 0, b: 0, a: 0} - - _ega3: {r: 1, g: 0, b: 0, a: 0} - - _ega4: {r: 1, g: 0, b: 0, a: 0} - - _ega5: {r: 1, g: 0, b: 0, a: 0} - - _ega6: {r: 1, g: 0, b: 0, a: 0} - - _ega7: {r: 1, g: 0, b: 0, a: 0} - - _egc0: {r: 1, g: 1, b: 1, a: 0} - - _egc1: {r: 1, g: 1, b: 1, a: 1} - - _egc2: {r: 1, g: 1, b: 1, a: 0} - - _egc3: {r: 1, g: 1, b: 1, a: 0} - - _egc4: {r: 1, g: 1, b: 1, a: 0} - - _egc5: {r: 1, g: 1, b: 1, a: 0} - - _egc6: {r: 1, g: 1, b: 1, a: 0} - - _egc7: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Partner Rings/internal/Material/Ring.mat.meta b/Partner Rings/internal/Material/Ring.mat.meta deleted file mode 100644 index 245a98b..0000000 --- a/Partner Rings/internal/Material/Ring.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 86b2fb72365f08e43bf2a41f7eed62b8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Texturer.meta b/Partner Rings/internal/Texturer.meta deleted file mode 100644 index 17a731e..0000000 --- a/Partner Rings/internal/Texturer.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 736a9c4c5cca10b4b95e07ebcfd1b749 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Texturer/Diamond TEX.png b/Partner Rings/internal/Texturer/Diamond TEX.png deleted file mode 100644 index cfba22a..0000000 Binary files a/Partner Rings/internal/Texturer/Diamond TEX.png and /dev/null differ diff --git a/Partner Rings/internal/Texturer/Diamond TEX.png.meta b/Partner Rings/internal/Texturer/Diamond TEX.png.meta deleted file mode 100644 index 82e8470..0000000 --- a/Partner Rings/internal/Texturer/Diamond TEX.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: e785b2a3647e1c040a33a0efd5a9bd08 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 1 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 512 - resizeAlgorithm: 0 - textureFormat: 50 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 1 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Texturer/RingM.png b/Partner Rings/internal/Texturer/RingM.png deleted file mode 100644 index 37dc52c..0000000 Binary files a/Partner Rings/internal/Texturer/RingM.png and /dev/null differ diff --git a/Partner Rings/internal/Texturer/RingM.png.meta b/Partner Rings/internal/Texturer/RingM.png.meta deleted file mode 100644 index 57955cb..0000000 --- a/Partner Rings/internal/Texturer/RingM.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 19a02511bcbbcd64f9a49617c2a0264f -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Texturer/RingTEX.png b/Partner Rings/internal/Texturer/RingTEX.png deleted file mode 100644 index e4054fd..0000000 Binary files a/Partner Rings/internal/Texturer/RingTEX.png and /dev/null differ diff --git a/Partner Rings/internal/Texturer/RingTEX.png.meta b/Partner Rings/internal/Texturer/RingTEX.png.meta deleted file mode 100644 index 1624741..0000000 --- a/Partner Rings/internal/Texturer/RingTEX.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 5d87d5dd92be5674982ef0c1edfb94db -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Partner Rings/internal/Texturer/ringtex 2.png b/Partner Rings/internal/Texturer/ringtex 2.png deleted file mode 100644 index 1580c13..0000000 Binary files a/Partner Rings/internal/Texturer/ringtex 2.png and /dev/null differ diff --git a/Partner Rings/internal/Texturer/ringtex 2.png.meta b/Partner Rings/internal/Texturer/ringtex 2.png.meta deleted file mode 100644 index f6652c9..0000000 --- a/Partner Rings/internal/Texturer/ringtex 2.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 2c7ee99b53b0a644b9bfcabaac2ece76 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 1 - 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 - flipGreenChannel: 0 - isReadable: 1 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - 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 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/PresetGenerator.meta b/PresetGenerator.meta deleted file mode 100644 index 4a31411..0000000 --- a/PresetGenerator.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b6821c8a35123384ea2040a70b8544c5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/PresetGenerator/Editor/PresetGenerator.asmdef b/PresetGenerator/Editor/PresetGenerator.asmdef deleted file mode 100644 index 88760e5..0000000 --- a/PresetGenerator/Editor/PresetGenerator.asmdef +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "PresetGenerator", - "rootNamespace": "", - "references": [ - "VRC.SDK3A", - "VRC.SDK3A.Editor", - "PresetGeneratorRuntime", - "AnimatorAsCode.V1", - "AnimatorAsCode.V1.VRChat", - "AnimatorAsCode.V1.ModularAvatar", - "nadena.dev.ndmf", - "nadena.dev.ndmf.vrchat" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/PresetGenerator/Editor/PresetGenerator.cs b/PresetGenerator/Editor/PresetGenerator.cs deleted file mode 100644 index ff00454..0000000 --- a/PresetGenerator/Editor/PresetGenerator.cs +++ /dev/null @@ -1,136 +0,0 @@ -#if UNITY_EDITOR -using UnityEngine; -using System.Collections.Generic; -using System.IO; -using VRC.SDK3.Editor; -using VRC.SDK3.Avatars.ScriptableObjects; -using UnityEditor.Animations; -using System; -using VRC.SDKBase; -using nadena.dev.ndmf; -using gay.lilyy.PresetGenerator.Editor; -using AnimatorAsCode.V1; -using VRC.SDK3.Avatars.Components; -using AnimatorAsCode.V1.ModularAvatar; -using UnityEditor; -using AnimatorAsCode.V1.VRC; -using Mono.Cecil.Cil; -using NUnit.Framework; - -[assembly: ExportsPlugin(typeof(ParameterPresetPlugin))] - -namespace gay.lilyy.PresetGenerator.Editor -{ - public class ParameterPresetPlugin : Plugin - { - public override string QualifiedName => "gay.lilyy.presetgenerator"; - public override string DisplayName => "Preset Generator"; - - private const string SystemName = "PresetGenerator"; - private const bool UseWriteDefaults = true; - protected override void Configure() - { - InPhase(BuildPhase.Generating).Run($"Generate {DisplayName}", Generate); - } - private void Generate(BuildContext ctx) - { - // Find all components of type ExampleToggle in this avatar. - var presets = ctx.AvatarRootTransform.GetComponents(); - if (presets.Length == 0) return; // If there are none in the avatar, skip this entirely. - - // Initialize Animator As Code. - var aac = AacV1.Create(new AacConfiguration - { - SystemName = SystemName, - AnimatorRoot = ctx.AvatarRootTransform, - DefaultValueRoot = ctx.AvatarRootTransform, - AssetKey = GUID.Generate().ToString(), - AssetContainer = ctx.AssetContainer, - ContainerMode = AacConfiguration.Container.OnlyWhenPersistenceRequired, - // (For AAC 1.2.0 and above) The next line is recommended starting from NDMF 1.6.0. - // If you use a lower version of NDMF or if you don't use it, remove that line. - AssetContainerProvider = new NDMFContainerProvider(ctx), - // States will be created with Write Defaults set to ON or OFF based on whether UseWriteDefaults is true or false. - DefaultsProvider = new AacDefaultsProvider(UseWriteDefaults) - }); - - // Create a new animator controller. - // This will be merged with the rest of the playable layer at the end of this function. - var ctrl = aac.NewAnimatorController(); - var layer = ctrl.NewLayer("Presets"); - var presetParam = layer.IntParameter("Preset"); - Dictionary> intParams = new(); - Dictionary> floatParams = new(); - Dictionary> boolParams = new(); - var emptyClip = aac.NewClip(); - var idle = layer.NewState("Idle").WithAnimation(emptyClip); - - var presetIndex = 0; - foreach (var preset in presets) - { - presetIndex++; - var state = layer.NewState("Preset " + preset.Name) - .WithAnimation(emptyClip); - - foreach (var param in preset.Parameters) - { - if (!param.shouldChange) continue; - switch (param.valueType) - { - case VRCExpressionParameters.ValueType.Int: - { - if (!intParams.ContainsKey(param.name)) - { - intParams[param.name] = layer.IntParameter(param.name); - } - var layerParam = intParams[param.name]; - state.Drives(layerParam, (int)param.setTo); - break; - } - case VRCExpressionParameters.ValueType.Float: - { - if (!floatParams.ContainsKey(param.name)) - { - floatParams[param.name] = layer.FloatParameter(param.name); - } - var layerParam = floatParams[param.name]; - state.Drives(layerParam, param.setTo); - break; - } - case VRCExpressionParameters.ValueType.Bool: - { - if (!boolParams.ContainsKey(param.name)) - { - boolParams[param.name] = layer.BoolParameter(param.name); - } - var layerParam = boolParams[param.name]; - state.Drives(layerParam, param.setTo > 0.5f); - break; - } - } - } - - idle.TransitionsTo(state).When(presetParam.IsEqualTo(presetIndex)); - state.TransitionsTo(idle).When(presetParam.IsEqualTo(0)); - } - // Create a new object in the scene. We will add Modular Avatar components inside it. - var modularAvatar = MaAc.Create(new GameObject(SystemName) - { - transform = { parent = ctx.AvatarRootTransform } - }); - - // By creating a Modular Avatar Merge Animator component, - // our animator controller will be added to the avatar's FX layer. - modularAvatar.NewMergeAnimator(ctrl.AnimatorController, VRCAvatarDescriptor.AnimLayerType.FX); - } - } - internal class NDMFContainerProvider : IAacAssetContainerProvider - { - private readonly BuildContext _ctx; - public NDMFContainerProvider(BuildContext ctx) => _ctx = ctx; - public void SaveAsPersistenceRequired(UnityEngine.Object objectToAdd) => _ctx.AssetSaver.SaveAsset(objectToAdd); - public void SaveAsRegular(UnityEngine.Object objectToAdd) { } // Let NDMF crawl our assets when it finishes - public void ClearPreviousAssets() { } // ClearPreviousAssets is never used in non-destructive contexts - } -} -#endif diff --git a/PresetGenerator/Runtime/ParameterPreset.cs b/PresetGenerator/Runtime/ParameterPreset.cs deleted file mode 100644 index c7d8586..0000000 --- a/PresetGenerator/Runtime/ParameterPreset.cs +++ /dev/null @@ -1,22 +0,0 @@ - -using System.Collections.Generic; -using UnityEngine; -using VRC.SDK3.Avatars.ScriptableObjects; -using VRC.SDKBase; -namespace gay.lilyy.PresetGenerator -{ - [System.Serializable] - public class PresetParameter { - public string name; - public VRCExpressionParameters.ValueType valueType; - public float setTo; - public bool shouldChange = false; - } - [AddComponentMenu("LillithRosePup/Parameter Preset")] -public class ParameterPreset : MonoBehaviour, IEditorOnly { - public string Name = "New Preset"; - - [HideInInspector] // custom inspector - public List Parameters; - } -} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c6b14f4 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# SharedVRCStuff + +Welcome! This is where I keep all my public avatar utilities! \ No newline at end of file diff --git a/ThirdParty/README.md b/ThirdParty/README.md new file mode 100644 index 0000000..8d60064 --- /dev/null +++ b/ThirdParty/README.md @@ -0,0 +1,3 @@ +# Third Party + +I don't own anything in here! I just use it enough to keep it in my submodule \ No newline at end of file diff --git a/Moderation Toolkit/Keybinds App/README.txt.meta b/ThirdParty/README.md.meta similarity index 75% rename from Moderation Toolkit/Keybinds App/README.txt.meta rename to ThirdParty/README.md.meta index 7e626fb..61d9d9a 100644 --- a/Moderation Toolkit/Keybinds App/README.txt.meta +++ b/ThirdParty/README.md.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 33b1e9cd5e2f19442b7ee7576d251579 +guid: f1146ce9fdc829049a9b3fea771f4999 TextScriptImporter: externalObjects: {} userData: diff --git a/soundboard.meta b/soundboard.meta deleted file mode 100644 index 5dd3d22..0000000 --- a/soundboard.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 88225af27a8fd774c932ef8ffb9ed5c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/AWOOGA.mp3 b/soundboard/AWOOGA.mp3 deleted file mode 100644 index 119c8aa..0000000 Binary files a/soundboard/AWOOGA.mp3 and /dev/null differ diff --git a/soundboard/AWOOGA.mp3.meta b/soundboard/AWOOGA.mp3.meta deleted file mode 100644 index 49603e9..0000000 --- a/soundboard/AWOOGA.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 64dfcee33a7de704bbd645b76b91f642 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3 b/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3 deleted file mode 100644 index cabf9aa..0000000 Binary files a/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3 and /dev/null differ diff --git a/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3.meta b/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3.meta deleted file mode 100644 index c4b4374..0000000 --- a/soundboard/EXTREMELY LOUD CORRECT BUZZER.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 1b46a75287a27a3438d2386f88faf8e8 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3 b/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3 deleted file mode 100644 index eb2cd16..0000000 Binary files a/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3 and /dev/null differ diff --git a/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3.meta b/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3.meta deleted file mode 100644 index 4b014a1..0000000 --- a/soundboard/EXTREMELY LOUD INCORRECT BUZZER.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 6d7a1560ce709fe4db740aab77dc2366 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/FATHER HELP.mp3 b/soundboard/FATHER HELP.mp3 deleted file mode 100644 index 292bbaa..0000000 Binary files a/soundboard/FATHER HELP.mp3 and /dev/null differ diff --git a/soundboard/FATHER HELP.mp3.meta b/soundboard/FATHER HELP.mp3.meta deleted file mode 100644 index 4942d29..0000000 --- a/soundboard/FATHER HELP.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 82b32266dba7eb3479b246f7ad571dc3 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/Soundboard.prefab b/soundboard/Soundboard.prefab deleted file mode 100644 index 99c23aa..0000000 --- a/soundboard/Soundboard.prefab +++ /dev/null @@ -1,2755 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &147741653438794557 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1821430112530383880} - - component: {fileID: 2155315162816491867} - m_Layer: 0 - m_Name: CORRECT - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1821430112530383880 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 147741653438794557} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 4152898578752166727} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2155315162816491867 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 147741653438794557} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/CORRECT - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 287816175640027578} - mode: 0 ---- !u!1 &287816175640027578 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4152898578752166727} - - component: {fileID: 7569516427956945148} - - component: {fileID: 4047150027480194208} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4152898578752166727 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 287816175640027578} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 1821430112530383880} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &7569516427956945148 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 287816175640027578} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 1b46a75287a27a3438d2386f88faf8e8, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &4047150027480194208 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 287816175640027578} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &465718354667546966 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 806269466873245272} - - component: {fileID: 6700888331088054463} - m_Layer: 0 - m_Name: Disconnect - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &806269466873245272 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 465718354667546966} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 3398300892004401218} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6700888331088054463 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 465718354667546966} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Disconnect - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 2749151471043494848} - mode: 0 ---- !u!1 &779758433812154455 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8394152582242742788} - - component: {fileID: 4565092962794766288} - - component: {fileID: 6544949865819889141} - m_Layer: 0 - m_Name: Soundboard - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8394152582242742788 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 779758433812154455} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.538, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1830091511542267044} - - {fileID: 2076386769103153608} - - {fileID: 2688583484499907009} - - {fileID: 2320802909348226145} - - {fileID: 3197872603720730863} - - {fileID: 1821430112530383880} - - {fileID: 8109019385647143623} - - {fileID: 806269466873245272} - - {fileID: 1173868266082517806} - - {fileID: 6210218960749382966} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4565092962794766288 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 779758433812154455} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533298 - references: - version: 2 - RefIds: - - rid: 2850962563968533298 - type: {class: SetIcon, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 1 - path: Toys/Soundboard - icon: - version: 1 - fileID: 0 - guid: - id: eeea5cb0e90e78b4983030379234291b|Assets/Kainet Avatars/Liepard/Icons/Icon - Audio Link.png - objRef: {fileID: 2800000, guid: eeea5cb0e90e78b4983030379234291b, type: 3} ---- !u!114 &6544949865819889141 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 779758433812154455} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533346 - references: - version: 2 - RefIds: - - rid: 2850962563968533346 - type: {class: ArmatureLink, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 7 - propBone: {fileID: 779758433812154455} - linkTo: - - useBone: 1 - bone: 8 - useObj: 0 - obj: {fileID: 0} - offset: - removeBoneSuffix: - removeParentConstraints: 1 - forceMergedName: - forceOneWorldScale: 0 - recursive: 0 - alignPosition: 0 - alignRotation: 0 - alignScale: 0 - autoScaleFactor: 1 - scalingFactorPowersOf10Only: 1 - skinRewriteScalingFactor: 1 - useOptimizedUpload: 0 - useBoneMerging: 0 - keepBoneOffsets: 0 - physbonesOnAvatarBones: 0 - boneOnAvatar: 0 - bonePathOnAvatar: - fallbackBones: - keepBoneOffsets2: 0 - linkMode: 4 ---- !u!1 &1014726940779726571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3197872603720730863} - - component: {fileID: 238470492653531066} - m_Layer: 0 - m_Name: INCORRECT - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3197872603720730863 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1014726940779726571} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 7224143397613951080} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &238470492653531066 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1014726940779726571} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/INCORRECT - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 7585019078269052509} - mode: 0 ---- !u!1 &1054889784206040218 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6689215448608357971} - - component: {fileID: 7182878651705215024} - - component: {fileID: 4178982597809840706} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6689215448608357971 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054889784206040218} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 8109019385647143623} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &7182878651705215024 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054889784206040218} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 69d90ada6c9b13246b6f5c43e80989a9, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &4178982597809840706 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054889784206040218} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &2082686833109513744 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1830091511542267044} - - component: {fileID: 3938508178930045985} - m_Layer: 0 - m_Name: Clown Honk - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1830091511542267044 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2082686833109513744} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 9115655781460114127} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3938508178930045985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2082686833109513744} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Clown Honk - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 6998072517331926907} - mode: 0 ---- !u!1 &2312596496474346185 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1173868266082517806} - - component: {fileID: 7748960053753331070} - m_Layer: 0 - m_Name: father help - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1173868266082517806 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2312596496474346185} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 8856952544662533639} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7748960053753331070 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2312596496474346185} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Father Help - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 3852385890013164477} - mode: 0 ---- !u!1 &2749151471043494848 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3398300892004401218} - - component: {fileID: 1365173326274958389} - - component: {fileID: 2828191035340412598} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3398300892004401218 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2749151471043494848} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 806269466873245272} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &1365173326274958389 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2749151471043494848} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 8f21c6f09568ea642ba20566bb7232af, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &2828191035340412598 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2749151471043494848} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &3206025472434067472 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6210218960749382966} - - component: {fileID: 20115447585519396} - m_Layer: 0 - m_Name: nuh uh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6210218960749382966 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3206025472434067472} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 3825986013046955922} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &20115447585519396 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3206025472434067472} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/the fuck you mean nuh uh - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 3.5 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 3809143318241285498} - mode: 0 ---- !u!1 &3809143318241285498 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3825986013046955922} - - component: {fileID: 6167052191799177798} - - component: {fileID: 3711881545939198772} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3825986013046955922 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3809143318241285498} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 6210218960749382966} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &6167052191799177798 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3809143318241285498} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 312ce83c417a7394d91d147f14d6c7b1, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &3711881545939198772 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3809143318241285498} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &3852385890013164477 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8856952544662533639} - - component: {fileID: 5732556443958876193} - - component: {fileID: 752560830582822737} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8856952544662533639 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3852385890013164477} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 1173868266082517806} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &5732556443958876193 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3852385890013164477} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 82b32266dba7eb3479b246f7ad571dc3, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &752560830582822737 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3852385890013164477} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &4175378887047030111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4298009833261722509} - - component: {fileID: 6815006467388842646} - - component: {fileID: 6433399397779042573} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4298009833261722509 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4175378887047030111} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 2688583484499907009} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &6815006467388842646 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4175378887047030111} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 64dfcee33a7de704bbd645b76b91f642, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &6433399397779042573 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4175378887047030111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &4935984364369701457 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8458828463814537773} - - component: {fileID: 934591044875306934} - - component: {fileID: 7158607462581914707} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8458828463814537773 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4935984364369701457} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 2076386769103153608} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &934591044875306934 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4935984364369701457} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 93039b034e50dfd4f91b9a9eba0acc6c, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &7158607462581914707 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4935984364369701457} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &5923300374910761861 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8990934048839662795} - - component: {fileID: 7503194611107061612} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8990934048839662795 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5923300374910761861} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 2320802909348226145} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &7503194611107061612 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5923300374910761861} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: f64c05528478dfc40aab1235631962d2, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!1 &6283700981719209658 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8109019385647143623} - - component: {fileID: 37584604733063187} - m_Layer: 0 - m_Name: Clicker - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8109019385647143623 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6283700981719209658} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 6689215448608357971} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &37584604733063187 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6283700981719209658} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Clicker - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 1054889784206040218} - mode: 0 ---- !u!1 &6998072517331926907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9115655781460114127} - - component: {fileID: 8938365012292181634} - - component: {fileID: 8215932064542206499} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9115655781460114127 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6998072517331926907} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 1830091511542267044} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &8938365012292181634 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6998072517331926907} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: e52d9cc6e59e46c47b51ea7f112b09d3, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &8215932064542206499 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6998072517331926907} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &7150899236864475998 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2688583484499907009} - - component: {fileID: 4424915493157482610} - m_Layer: 0 - m_Name: AWOOGA - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2688583484499907009 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7150899236864475998} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 4298009833261722509} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4424915493157482610 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7150899236864475998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/AWOOGA - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 4175378887047030111} - mode: 0 ---- !u!1 &7585019078269052509 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7224143397613951080} - - component: {fileID: 8018407744529736615} - - component: {fileID: 5927049814742568543} - m_Layer: 0 - m_Name: Sound - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7224143397613951080 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7585019078269052509} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 3197872603720730863} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &8018407744529736615 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7585019078269052509} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 6d7a1560ce709fe4db740aab77dc2366, type: 3} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 1 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &5927049814742568543 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7585019078269052509} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1610797297, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3} - m_Name: - m_EditorClassIdentifier: - Gain: 10 - Far: 5 - Near: 0 - VolumetricRadius: 0 - EnableSpatialization: 1 - UseAudioSourceVolumeCurve: 0 ---- !u!1 &7671793520177691853 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2076386769103153608} - - component: {fileID: 4317307200612358242} - m_Layer: 0 - m_Name: Feddy Fazber - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2076386769103153608 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7671793520177691853} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 8458828463814537773} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4317307200612358242 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7671793520177691853} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Feddy Fazber - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 4935984364369701457} - mode: 0 ---- !u!1 &7684726347214690613 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2320802909348226145} - - component: {fileID: 7676881038112482932} - m_Layer: 0 - m_Name: Quest Battery - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2320802909348226145 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7684726347214690613} - serializedVersion: 2 - 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_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 8990934048839662795} - m_Father: {fileID: 8394152582242742788} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7676881038112482932 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7684726347214690613} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 3 - unityVersion: 2022.3.22f1 - vrcfuryVersion: 1.1193.0 - somethingIsBroken: 0 - config: - features: [] - content: - rid: 2850962563968533299 - references: - version: 2 - RefIds: - - rid: 2850962563968533299 - type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury} - data: - version: 3 - name: Toys/Soundboard/Quest Battery - state: - actions: - - rid: 2850962563968533300 - saved: 0 - slider: 0 - sliderInactiveAtZero: 0 - securityEnabled: 0 - defaultOn: 0 - includeInRest: 0 - exclusiveOffState: 0 - enableExclusiveTag: 0 - exclusiveTag: - resetPhysbones: [] - hasExitTime: 1 - enableIcon: 0 - icon: - version: 1 - fileID: 0 - guid: - id: - objRef: {fileID: 0} - enableDriveGlobalParam: 0 - driveGlobalParam: - separateLocal: 0 - localState: - actions: [] - hasTransition: 1 - transitionStateIn: - actions: [] - transitionStateOut: - actions: [] - transitionTimeIn: 0 - transitionTimeOut: 1 - localTransitionStateIn: - actions: [] - localTransitionStateOut: - actions: [] - localTransitionTimeIn: 0 - localTransitionTimeOut: 0 - simpleOutTransition: 1 - defaultSliderValue: 0 - useGlobalParam: 0 - globalParam: - holdButton: 1 - invertRestLogic: 0 - expandIntoTransition: 1 - - rid: 2850962563968533300 - type: {class: ObjectToggleAction, ns: VF.Model.StateAction, asm: VRCFury} - data: - version: 1 - desktopActive: 0 - androidActive: 0 - localOnly: 0 - remoteOnly: 0 - obj: {fileID: 5923300374910761861} - mode: 0 diff --git a/soundboard/Soundboard.prefab.meta b/soundboard/Soundboard.prefab.meta deleted file mode 100644 index 525cab6..0000000 --- a/soundboard/Soundboard.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 54216cf709ccbb84d968f861aa56b0bb -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/clicker.mp3 b/soundboard/clicker.mp3 deleted file mode 100644 index 2bc1e99..0000000 Binary files a/soundboard/clicker.mp3 and /dev/null differ diff --git a/soundboard/clicker.mp3.meta b/soundboard/clicker.mp3.meta deleted file mode 100644 index 0014f22..0000000 --- a/soundboard/clicker.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 69d90ada6c9b13246b6f5c43e80989a9 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/clown honk.mp3 b/soundboard/clown honk.mp3 deleted file mode 100644 index 61361ab..0000000 Binary files a/soundboard/clown honk.mp3 and /dev/null differ diff --git a/soundboard/clown honk.mp3.meta b/soundboard/clown honk.mp3.meta deleted file mode 100644 index 2ec2f33..0000000 --- a/soundboard/clown honk.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: e52d9cc6e59e46c47b51ea7f112b09d3 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/disconnect.mp3 b/soundboard/disconnect.mp3 deleted file mode 100644 index 592e021..0000000 Binary files a/soundboard/disconnect.mp3 and /dev/null differ diff --git a/soundboard/disconnect.mp3.meta b/soundboard/disconnect.mp3.meta deleted file mode 100644 index 230c08d..0000000 --- a/soundboard/disconnect.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 8f21c6f09568ea642ba20566bb7232af -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/feddy.mp3 b/soundboard/feddy.mp3 deleted file mode 100644 index f8801d7..0000000 Binary files a/soundboard/feddy.mp3 and /dev/null differ diff --git a/soundboard/feddy.mp3.meta b/soundboard/feddy.mp3.meta deleted file mode 100644 index 8492593..0000000 --- a/soundboard/feddy.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 93039b034e50dfd4f91b9a9eba0acc6c -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/quest battery.mp3 b/soundboard/quest battery.mp3 deleted file mode 100644 index 9110ca1..0000000 Binary files a/soundboard/quest battery.mp3 and /dev/null differ diff --git a/soundboard/quest battery.mp3.meta b/soundboard/quest battery.mp3.meta deleted file mode 100644 index c83bffe..0000000 --- a/soundboard/quest battery.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: f64c05528478dfc40aab1235631962d2 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/soundboard/the fuck you mean nuh uh.mp3 b/soundboard/the fuck you mean nuh uh.mp3 deleted file mode 100644 index cd0408b..0000000 Binary files a/soundboard/the fuck you mean nuh uh.mp3 and /dev/null differ diff --git a/soundboard/the fuck you mean nuh uh.mp3.meta b/soundboard/the fuck you mean nuh uh.mp3.meta deleted file mode 100644 index 051f966..0000000 --- a/soundboard/the fuck you mean nuh uh.mp3.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 312ce83c417a7394d91d147f14d6c7b1 -AudioImporter: - externalObjects: {} - serializedVersion: 7 - defaultSettings: - serializedVersion: 2 - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - preloadAudioData: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - loadInBackground: 1 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: