diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 000000000..3cd51f4db --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,119 @@ +name: 🐞 Bug Report +description: File a technical issue, import or export problem, API issue +labels: ["untriaged"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report. The more info you add, the higher the chance that we'll be able to help! 🙏 + + - type: textarea + id: bug-description + attributes: + label: Describe the bug 💬 + description: A clear and concise description of what the bug is. Thanks! + placeholder: I am doing... What I expect to happen is... What's actually happening is ... + validations: + required: true + + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce 🔢 + description: Please provide step-by-step instructions for how to see the issue you're describing with the files you provide. + placeholder: | + 1. Download the attached reproduction file + 2. Drop it into Unity + 3. See in console + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Files to reproduce the issue ♻ + description: Please drop necessary files to reproduce the problem you ran into as `.zip` file or paste a link to a `.gltf/.glb`. A [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) is best ([Why?](https://antfu.me/posts/why-reproductions-are-required)). + placeholder: Reproduction files or URL + validations: + required: false + + - type: dropdown + id: version + attributes: + label: Editor Version 🎲 + description: Which Unity version are you using? Please note that while we try to support the latest Unity versions, officially only LTS versions are supported. + options: + - 2020.3 or older + - 2021.3 + - 2022.3 + - 6000.0 + - Other (Provide details below) + default: 1 + validations: + required: true + + - type: input + id: renderpipeline + attributes: + label: Render Pipeline and version + placeholder: URP 10.0.0 / HDRP 10.0.0 / Built-In Render Pipeline + validations: + required: true + + - type: input + id: unitygltf + attributes: + label: UnityGLTF Version + placeholder: 2.13.0 + validations: + required: true + + - type: dropdown + id: OS + attributes: + label: Operating System 👩‍💻 + description: Which operating system are you using / on which operating system did you observe the issue? + multiple: true + options: + - Windows + - macOS + - Linux + - iOS + - Android + - WebGL + - VisionOS + - Other (Provide details below) + validations: + required: true + + - type: checkboxes + attributes: + label: When does this problem happen? + description: Does this issue happen in the Unity Editor (e.g. when importing assets to your project) or at runtime (e.g. when loading assets in your build) + options: + - label: Editor Import + - label: Runtime Import + - label: Editor Export + - label: Runtime Export + validations: + required: true + + - type: textarea + id: project-info + attributes: + label: Additional Info 📜 + description: | + Provide additional information that might be useful to understand your use case. + + - type: checkboxes + id: checkboxes + attributes: + label: Validations 🩹 + description: Before submitting the issue, please make sure you do the following + options: + - label: "I have [searched existing issues](https://github.com/KhronosGroup/UnityGLTF/issues): no issue already exist that reports the same problem." + required: true + - label: I follow the [Code of Conduct](https://www.khronos.org/about/code-of-conduct) + required: true + - label: I provided a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example), including files when necessary. + required: false \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index cab9de063..f990ffcf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,85 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.15.0] - 2025-03-06 + +- fix: assets with absolute URLs or paths containing URL encoded information now load correctly +- fix: improve shader dependencies in editor importer to work around some edge cases at first library import +- fix: check all sub-meshes of used attributes instead of only the first one when creating attribute arrays +- fix: ensure progress callback is triggered before `onLoadComplete` in scene loader +- fix: prevent null reference exception when plugin is not loaded/defined +- fix: work around API change in Unity 6000.0.38f1 that caused compilation error +- fix: clamped `Sheen Roughness` to 0..1 range in PBRGraph shader +- fix: `RoughRefractionFeature` now supports Unity 6 and new Render Graph API +- fix: set volume and transmission materials to `AlphaMode.BLEND` on VisionOS to ensure proper rendering +- fix: update render pipeline-related methods for Unity 6000.0+ +- change: mark package as compatible with Unity 2021.3+. Legacy support for 2020 and earlier will be removed in future updates. +- change: renamed `GLTFComponent` setting `AppendStreamingAssets` to `LoadFromStreamingAssetsFolder` +- add: MaterialX branches to `UnityGLTF/PBRGraph` shader with conditional compilation for VisionOS +- add: `MaterialXColor` and `MaterialXFloat` shadersubgraphs for platform-specific material settings +- add: new runtime texture compression option (`None`, `LowQuality`, `HighQuality`) to improve runtime memory usage +- add: exposed import settings to keep CPU copy of mesh/textures to `GLTFComponent` +- add: include UnityGLTF package version, Unity version and current render pipeline in `assets.extras` on export +- add: better code snippets for the readme +- add: export plugin hook for `ShouldNodeExport` (https://github.com/KhronosGroup/UnityGLTF/pull/767) +- add: [`KHR_node_visibility`](https://github.com/KhronosGroup/glTF/pull/2410) import and export support, currently disabled by default. Enable in `UnityGLTFSettings`. This is a preparative step for `KHR_interactivity`, which will be added in a later release. Please note that this extension is not yet ratified and implementation details may change. +- add: schema and serialization support for [`KHR_node_hoverability`](https://github.com/KhronosGroup/glTF/pull/2426) and [`KHR_node_selectability`](https://github.com/KhronosGroup/glTF/pull/2422). Please note that these extensions are not yet ratified and implementation details may change. + +## [2.14.1] - 2024-10-28 + +- fix: compiler error with `ParticleSystemBakeMeshOptions` before 2022.3.11f1 since that's where the API was introduced +- fix: prevent incorrect warning when meshes don't have UV1/UV2 attributes +- fix: don't call export multiple times from context menu for multi-selections +- fix: remove unused property from `GLTFComponent` + +## [2.14.0] - 2024-10-06 + +- fix: potential NullReferenceExceptions when importing material-only, mesh-only or texture-only glTF files +- fix: check for missing primitives on mesh import instead of throwing +- fix: GLTFSceneImporter reference counting properly tracks Animation data now +- fix: incorrect callback subscription in glTF Material editing +- fix: CanvasExport plugin was not working correctly in WebGL builds +- fix: rare case of incorrect texture export with invalid texture content hash (thanks @Vaso64) +- fix: ensure materials created with Create > UnityGLTF > Material use UnityGLTF as importer instead of glTFast +- fix: Canvas export plugin was not correctly updating the canvas mesh in builds +- fix: Particle Bake export plugin was not working correctly in 2022.3 +- fix: Import/Export plugin enabled/disabled state was not correctly serialized in some cases +- fix: TMPro export plugin uses UnityGLTF shaders for export now instead of adding another dependency +- fix: GLTFSceneImporter can be called without external data loader, but will warn that external data will not be loaded. Previously, a data loader had to be added even when it was not needed. +- change: log warning when exporting UV0 and UV1 with more than 2 components, as glTF only supports 2-component UVs +- change: simplify sampler usage in PBRGraph where possible to prevent warnings in later Unity versions +- change: simplify PBRGraph variants to reduce shader variant count. This removes a separate option to use vertex color. +- change: material-only files are now imported as MaterialLibrary assets with Material sub-assets, even when only a single material is present +- add: log more meaningful exception messages on import +- add: sheen support for PBRGraph +- add: PBRGraph UI properly shows sheen and dispersion properties +- add: allow flipping humanoid root bone on import to support more avatar types (like Meta Avatars) +- add: new "Info" tab in GLTFImporter for asset information (generator, copyright, etc.) about the imported file +- add: ShaderOverride is now public on GLTFComponent +- add: new GLTFSceneImporter constructor overload for easier loading of files from streams +- add: meshes and textures can now be deduplicated on import, since many exporters don't properly instance them +- add: UV2 is exported as 2-, 3-, or 4-component texture coordinate. 3- and 4-component texture coordinates are not in the core glTF spec, but widely supported by implementations. +- add: complete PBRGraph and UnlitGraph Shader Variant Collections for easier runtime import and export of glTF files +- add: options for shader pass stripping in builds to reduce variant count and compilation times +- add: ability to export a set of materials as material-only glTF or glb file +- add: option to add new materials to glTF Material Libraries (material-only files) + +## [2.13.0] - 2024-07-23 + +- fix: empty or invalid root transforms should not be exported +- fix: when no root transforms are exported, no scene should be created by default +- fix: image filenames were sometimes incorrectly exported when exporting .gltf files (#737) +- fix: set wrap mode for legacy animation import mode +- fix: added missing ExtTransform for some textures in animationpointer import/export, fixes when only offset exist (#740) +- fix: added uv-starts-at-top check for transmission support on WebGL and other platforms (#746) +- fix: added missing generate mitmaps to ktx texture load (#752) +- fix: bone name mapping for exact names was not applied on humanoid import (#751) +- fix: added missing using system for uwp target (#757) +- add: allow importing non-standard VEC3 and VEC4 TEXCOORD_n data and convert it to VEC2 +- add: exposed texture readwrite enabled and generate mipmaps option to importer +- change: removed log for loaded node count mismatch, extensions can modify node counts so the log was misleading +- change: removed loaded texture count error log: when multiple samplers are used for one texture, the textures will be duplicated + ## [2.12.0] - 2024-05-06 - fix: PolySpatial support now also includes emission textures and colors diff --git a/Editor/Scripts/GLTFExportMenu.cs b/Editor/Scripts/GLTFExportMenu.cs index b3f189f90..a373c360b 100644 --- a/Editor/Scripts/GLTFExportMenu.cs +++ b/Editor/Scripts/GLTFExportMenu.cs @@ -1,9 +1,13 @@ using System; using System.IO; using System.Linq; +using System.Text.RegularExpressions; using UnityEditor; +using UnityEditor.ProjectWindowCallback; using UnityEngine; using UnityEngine.SceneManagement; +using UnityEngine.Serialization; +using Object = UnityEngine.Object; namespace UnityGLTF { @@ -28,29 +32,41 @@ public static string RetrieveTexturePath(UnityEngine.Texture texture) return path; } - private static bool TryGetExportNameAndRootTransformsFromSelection(out string sceneName, out Transform[] rootTransforms) + private static bool TryGetExportNameAndRootTransformsFromSelection(out string sceneName, out Transform[] rootTransforms, out Object[] rootResources) { if (Selection.transforms.Length > 1) { sceneName = SceneManager.GetActiveScene().name; rootTransforms = Selection.transforms; + rootResources = null; return true; } if (Selection.transforms.Length == 1) { sceneName = Selection.activeGameObject.name; rootTransforms = Selection.transforms; + rootResources = null; return true; } if (Selection.objects.Any() && Selection.objects.All(x => x is GameObject)) { sceneName = Selection.objects.First().name; rootTransforms = Selection.objects.Select(x => (x as GameObject).transform).ToArray(); + rootResources = null; + return true; + } + + if (Selection.objects.Any() && Selection.objects.All(x => x is Material)) + { + sceneName = "Material Library"; + rootTransforms = null; + rootResources = Selection.objects; return true; } sceneName = null; rootTransforms = null; + rootResources = null; return false; } @@ -58,39 +74,47 @@ private static bool TryGetExportNameAndRootTransformsFromSelection(out string sc [MenuItem(MenuPrefixGameObject + ExportGltf, true)] private static bool ExportSelectedValidate() { - return TryGetExportNameAndRootTransformsFromSelection(out _, out _); + return TryGetExportNameAndRootTransformsFromSelection(out _, out _, out _); } [MenuItem(MenuPrefix + ExportGltf)] [MenuItem(MenuPrefixGameObject + ExportGltf, false, 33)] - private static void ExportSelected() + private static void ExportSelected(MenuCommand command) { - if (!TryGetExportNameAndRootTransformsFromSelection(out var sceneName, out var rootTransforms)) + // The exporter handles multi-selection. We don't want to call export multiple times here. + if (Selection.gameObjects.Length > 1 && command.context != Selection.gameObjects[0]) + return; + + if (!TryGetExportNameAndRootTransformsFromSelection(out var sceneName, out var rootTransforms, out var rootResources)) { Debug.LogError("Can't export: selection is empty"); return; } - Export(rootTransforms, false, sceneName); + Export(rootTransforms, rootResources, false, sceneName); } [MenuItem(MenuPrefix + ExportGlb, true)] [MenuItem(MenuPrefixGameObject + ExportGlb, true)] private static bool ExportGLBSelectedValidate() { - return TryGetExportNameAndRootTransformsFromSelection(out _, out _); + return TryGetExportNameAndRootTransformsFromSelection(out _, out _, out _); } [MenuItem(MenuPrefix + ExportGlb)] [MenuItem(MenuPrefixGameObject + ExportGlb, false, 34)] - private static void ExportGLBSelected() + private static void ExportGLBSelected(MenuCommand command) { - if (!TryGetExportNameAndRootTransformsFromSelection(out var sceneName, out var rootTransforms)) + // The exporter handles multi-selection. We don't want to call export multiple times here. + if (Selection.gameObjects.Length > 1 && command.context != Selection.gameObjects[0]) + return; + + if (!TryGetExportNameAndRootTransformsFromSelection(out var sceneName, out var rootTransforms, out var rootResources)) { Debug.LogError("Can't export: selection is empty"); return; } - Export(rootTransforms, true, sceneName); + Export(rootTransforms, rootResources, true, sceneName); } [MenuItem(MenuPrefix + "Export active scene as glTF")] @@ -100,7 +124,7 @@ private static void ExportScene() var gameObjects = scene.GetRootGameObjects(); var transforms = Array.ConvertAll(gameObjects, gameObject => gameObject.transform); - Export(transforms, false, scene.name); + Export(transforms, null, false, scene.name); } [MenuItem(MenuPrefix + "Export active scene as GLB")] @@ -110,15 +134,31 @@ private static void ExportSceneGLB() var gameObjects = scene.GetRootGameObjects(); var transforms = Array.ConvertAll(gameObjects, gameObject => gameObject.transform); - Export(transforms, true, scene.name); + Export(transforms, null, true, scene.name); } - private static void Export(Transform[] transforms, bool binary, string sceneName) + private static void Export(Transform[] transforms, Object[] resources, bool binary, string sceneName) { var settings = GLTFSettings.GetOrCreateSettings(); var exportOptions = new ExportContext(settings) { TexturePathRetriever = RetrieveTexturePath }; var exporter = new GLTFSceneExporter(transforms, exportOptions); + if (resources != null) + { + exportOptions.AfterSceneExport += (sceneExporter, _) => + { + foreach (var resource in resources) + { + if (resource is Material material) + sceneExporter.ExportMaterial(material); + if (resource is Texture2D texture) + sceneExporter.ExportTexture(texture, "unknown"); + if (resource is Mesh mesh) + sceneExporter.ExportMesh(mesh); + } + }; + } + var invokedByShortcut = Event.current?.type == EventType.KeyDown; var path = settings.SaveFolderPath; if (!invokedByShortcut || !Directory.Exists(path)) @@ -129,7 +169,8 @@ private static void Export(Transform[] transforms, bool binary, string sceneName var ext = binary ? ".glb" : ".gltf"; var resultFile = GLTFSceneExporter.GetFileName(path, sceneName, ext); settings.SaveFolderPath = path; - if(binary) + + if (binary) exporter.SaveGLB(path, sceneName); else exporter.SaveGLTFandBin(path, sceneName); @@ -145,7 +186,8 @@ internal static class GLTFCreateMenu [MenuItem("Assets/Create/UnityGLTF/Material", false)] private static void CreateNewAsset() { - ProjectWindowUtil.CreateAssetWithContent("New glTF Material.gltf", @"{ + var filename = "glTF Material Library.gltf"; + var content = @"{ ""asset"": { ""generator"": ""UnityGLTF"", ""version"": ""2.0"" @@ -158,7 +200,51 @@ private static void CreateNewAsset() } } ] -}"); +}"; + + var importAction = ScriptableObject.CreateInstance(); + importAction.fileContent = content; + ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, importAction, filename, null, (string) null); + } + + // Based on DoCreateAssetWithContent.cs + private class AdjustImporterAction : EndNameEditAction + { + public string fileContent; + public override void Action(int instanceId, string pathName, string resourceFile) + { + var templateContent = SetLineEndings(fileContent, EditorSettings.lineEndingsForNewScripts); + File.WriteAllText(Path.GetFullPath(pathName), templateContent); + AssetDatabase.ImportAsset(pathName); + // This is why we're not using ProjectWindowUtil.CreateAssetWithContent directly: + // We want glTF materials created with UnityGLTF to also use UnityGLTF for importing. + AssetDatabase.SetImporterOverride(pathName); + var asset = AssetDatabase.LoadAssetAtPath(pathName, typeof (UnityEngine.Object)); + ProjectWindowUtil.ShowCreatedAsset(asset); + } + } + + // Unmodified from ProjectWindowUtil.cs:SetLineEndings (internal) + private static string SetLineEndings(string content, LineEndingsMode lineEndingsMode) + { + string replacement; + switch (lineEndingsMode) + { + case LineEndingsMode.OSNative: + replacement = Application.platform != RuntimePlatform.WindowsEditor ? "\n" : "\r\n"; + break; + case LineEndingsMode.Unix: + replacement = "\n"; + break; + case LineEndingsMode.Windows: + replacement = "\r\n"; + break; + default: + replacement = "\n"; + break; + } + content = Regex.Replace(content, "\\r\\n?|\\n", replacement); + return content; } } } diff --git a/Editor/Scripts/GLTFImporter.cs b/Editor/Scripts/GLTFImporter.cs index ba92c260e..c238568c3 100644 --- a/Editor/Scripts/GLTFImporter.cs +++ b/Editor/Scripts/GLTFImporter.cs @@ -85,7 +85,9 @@ private static void EnsureShadersAreLoaded() [Tooltip("Turn this off to create an explicit GameObject for the glTF scene. A scene root will always be created if there's more than one root node.")] [SerializeField] internal bool _removeEmptyRootObjects = true; - [SerializeField] internal float _scaleFactor = 1.0f; + [SerializeField] internal float _scaleFactor = 1.0f; + [Tooltip("Reduces identical resources. e.g. when identical meshes are found, only one will be imported.")] + [SerializeField] internal DeduplicateOptions _deduplicateResources = DeduplicateOptions.None; [SerializeField] internal int _maximumLod = 300; [SerializeField] internal bool _readWriteEnabled = true; [SerializeField] internal bool _generateColliders = false; @@ -99,16 +101,19 @@ private static void EnsureShadersAreLoaded() [SerializeField] internal GLTFImporterNormals _importTangents = GLTFImporterNormals.Import; [SerializeField] internal CameraImportOption _importCamera = CameraImportOption.ImportAndCameraDisabled; [SerializeField] internal AnimationMethod _importAnimations = AnimationMethod.Mecanim; + [SerializeField] internal bool _mecanimHumanoidFlip = false; [SerializeField] internal bool _addAnimatorComponent = false; [SerializeField] internal bool _animationLoopTime = true; [SerializeField] internal bool _animationLoopPose = false; [SerializeField] internal bool _importMaterials = true; [SerializeField] internal bool _enableGpuInstancing = false; + [SerializeField] internal bool _texturesReadWriteEnabled = true; + [SerializeField] internal bool _generateMipMaps = true; [Tooltip("Enable this to get the same main asset identifiers as glTFast uses. This is recommended for new asset imports. Note that changing this for already imported assets will break their scene references and require manually re-adding the affected assets.")] [SerializeField] internal bool _useSceneNameIdentifier = false; [Tooltip("Compress textures after import using the platform default settings. If you need more control, use a .gltf file instead.")] [SerializeField] internal GLTFImporterTextureCompressionQuality _textureCompression = GLTFImporterTextureCompressionQuality.None; - + [SerializeField, Multiline] internal string _gltfAsset = default; // for humanoid importer [SerializeField] internal bool m_OptimizeGameObjects = false; [SerializeField] internal HumanDescription m_HumanDescription = new HumanDescription(); @@ -190,6 +195,10 @@ private class NonReorderableAttribute : Attribute {} private static string[] GatherDependenciesFromSourceFile(string path) { var dependencies = new List(); + + // Add shader dependencies to ensure they're imported first + dependencies.Add(AssetDatabase.GUIDToAssetPath(PBRGraphMap.PBRGraphGuid)); + dependencies.Add(AssetDatabase.GUIDToAssetPath(UnlitGraphMap.UnlitGraphGuid)); // only supported glTF for now - would be harder to check for external references in glb assets. if (!path.ToLowerInvariant().EndsWith(".gltf")) @@ -426,7 +435,7 @@ string GetUniqueName(string desiredName) // scale all localPosition values if necessary if (gltfScene && !Mathf.Approximately(_scaleFactor, 1)) { - var transforms = gltfScene.GetComponentsInChildren(); + var transforms = gltfScene.GetComponentsInChildren(true); foreach (var tr in transforms) { tr.localPosition *= _scaleFactor; @@ -438,8 +447,8 @@ string GetUniqueName(string desiredName) var meshFilters = new List<(GameObject gameObject, Mesh sharedMesh)>(); if (gltfScene) { - meshFilters = gltfScene.GetComponentsInChildren().Select(x => (x.gameObject, x.sharedMesh)).ToList(); - meshFilters.AddRange(gltfScene.GetComponentsInChildren().Select(x => (x.gameObject, x.sharedMesh))); + meshFilters = gltfScene.GetComponentsInChildren(true).Select(x => (x.gameObject, x.sharedMesh)).ToList(); + meshFilters.AddRange(gltfScene.GetComponentsInChildren(true).Select(x => (x.gameObject, x.sharedMesh))); } var vertexBuffer = new List(); @@ -524,12 +533,12 @@ string GetUniqueName(string desiredName) if (gltfScene && _importAnimations == AnimationMethod.MecanimHumanoid) { - var avatar = HumanoidSetup.AddAvatarToGameObject(gltfScene); + var avatar = HumanoidSetup.AddAvatarToGameObject(gltfScene, _mecanimHumanoidFlip); if (avatar) ctx.AddObjectToAsset("avatar", avatar); } - var renderers = gltfScene ? gltfScene.GetComponentsInChildren() : Array.Empty(); + var renderers = gltfScene ? gltfScene.GetComponentsInChildren(true) : Array.Empty(); if (_importMaterials) { @@ -697,8 +706,7 @@ string GetUniqueName(string desiredName) if (_textureCompression != GLTFImporterTextureCompressionQuality.None) { // platform-dependant texture compression - var buildTargetName = BuildPipeline.GetBuildTargetName(ctx.selectedBuildTarget); - var format = TextureImporterHelper.GetAutomaticFormat(tex, buildTargetName); + var format = TextureImporterHelper.GetAutomaticFormat(tex, ctx.selectedBuildTarget); var convertedFormat = (TextureFormat)(int)format; if ((int)convertedFormat > -1) { @@ -829,10 +837,16 @@ string GetUniqueName(string desiredName) } else if (m_Materials.Length > 0) { + // Create a "MaterialLibrary" asset that will hold one or more materials imported from glTF + var library = ScriptableObject.CreateInstance(); + ctx.AddObjectToAsset("material library", library); + ctx.SetMainObject(library); + /* if (m_Materials.Length == 1) { ctx.SetMainObject(m_Materials[0]); } + */ } #else // Set main asset @@ -912,7 +926,8 @@ private void CreateGLTFScene(GLTFImportContext context, out GameObject scene, ImportTangents = _importTangents, ImportBlendShapeNames = _importBlendShapeNames, BlendShapeFrameWeight = _blendShapeFrameWeight, - CameraImport = _importCamera + CameraImport = _importCamera, + DeduplicateResources = _deduplicateResources, }; using (var stream = File.OpenRead(projectFilePath)) @@ -940,6 +955,8 @@ private void CreateGLTFScene(GLTFImportContext context, out GameObject scene, stream.Position = 0; // Make sure the read position is changed back to the beginning of the file var loader = new GLTFSceneImporter(gltfRoot, stream, importOptions); + loader.KeepCPUCopyOfTexture = _texturesReadWriteEnabled; + loader.GenerateMipMapsForTextures = _generateMipMaps; loader.LoadUnreferencedImagesAndMaterials = true; loader.MaximumLod = _maximumLod; loader.IsMultithreaded = true; @@ -955,7 +972,7 @@ private void CreateGLTFScene(GLTFImportContext context, out GameObject scene, scene = loader.LastLoadedScene; animationClips = loader.CreatedAnimationClips; - + _gltfAsset = loader.Root.Asset?.ToString(true); importer = loader; } } diff --git a/Editor/Scripts/GLTFImporterInspector.cs b/Editor/Scripts/GLTFImporterInspector.cs index 173b36fd2..2fb02ca26 100644 --- a/Editor/Scripts/GLTFImporterInspector.cs +++ b/Editor/Scripts/GLTFImporterInspector.cs @@ -23,7 +23,7 @@ namespace UnityGLTF internal class GLTFImporterInspector : UnityGLTFTabbedEditor { private string[] _importNormalsNames; - + public override void OnEnable() { if (!this) return; @@ -39,7 +39,8 @@ public override void OnEnable() if (m_HasMaterialData.boolValue || m_HasTextureData.boolValue) AddTab(new GLTFAssetImporterTab(this, "Materials", MaterialInspectorGUI)); - AddTab(new GLTFAssetImporterTab(this, "Used Extensions", ExtensionInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Extensions", ExtensionInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Info", AssetInfoInspectorGUI)); base.OnEnable(); } @@ -81,6 +82,7 @@ private void ModelInspectorGUI() EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._removeEmptyRootObjects))); EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._scaleFactor))); EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._importCamera))); + EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._deduplicateResources))); // EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._maximumLod)), new GUIContent("Maximum Shader LOD")); EditorGUILayout.Separator(); @@ -115,7 +117,9 @@ private void ModelInspectorGUI() var importedTextures = serializedObject.FindProperty("m_Textures"); if (importedTextures.arraySize > 0) { - EditorGUILayout.LabelField("Compression", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Textures", EditorStyles.boldLabel); + EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._texturesReadWriteEnabled))); + EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._generateMipMaps))); EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._textureCompression))); } } @@ -142,6 +146,13 @@ private void AnimationInspectorGUI() var anim = serializedObject.FindProperty(nameof(GLTFImporter._importAnimations)); EditorGUILayout.PropertyField(anim, new GUIContent("Animation Type")); + if (anim.enumValueIndex == (int)AnimationMethod.MecanimHumanoid) + { + var flip = serializedObject.FindProperty(nameof(GLTFImporter._mecanimHumanoidFlip)); + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(flip, new GUIContent("Flip Forward", "Some formats like VRM have a different forward direction for Avatars. Enable this option if the animation looks inverted.")); + EditorGUI.indentLevel--; + } if (hasAnimationData && anim.enumValueIndex > 0) { var loopTime = serializedObject.FindProperty(nameof(GLTFImporter._animationLoopTime)); @@ -360,16 +371,45 @@ void ExtractAsset(T subAsset, bool importImmediately) EditorGUILayout.EndFoldoutHeaderGroup(); } - private void ExtensionInspectorGUI() + private static GUIStyle _richTextWordWrap; + private void AssetInfoInspectorGUI() { var t = target as GLTFImporter; if (!t) return; + var assetProp = serializedObject.FindProperty(nameof(GLTFImporter._gltfAsset)); + if (assetProp == null) + return; + if (_richTextWordWrap == null) + { + GUIStyle style = new GUIStyle(GUI.skin.label); + style.richText = true; + style.wordWrap = true; + _richTextWordWrap = style; + } + + if (string.IsNullOrEmpty(t._gltfAsset)) + { + EditorGUILayout.LabelField("No asset information included in file", _richTextWordWrap); + return; + } + + EditorGUILayout.Space(); + var rect = GUILayoutUtility.GetRect(new GUIContent(t._gltfAsset), _richTextWordWrap); + EditorGUI.SelectableLabel(rect, t._gltfAsset, _richTextWordWrap); + + EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(true); var mainAssetIdentifierProp = serializedObject.FindProperty(nameof(GLTFImporter._mainAssetIdentifier)); EditorGUILayout.PropertyField(mainAssetIdentifierProp); + } + + private void ExtensionInspectorGUI() + { + var t = target as GLTFImporter; + if (!t) return; - EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._extensions)), new GUIContent("Extensions")); + EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(GLTFImporter._extensions)), new GUIContent("Extensions in file")); EditorGUI.EndDisabledGroup(); // TODO add list of supported extensions and links to docs @@ -377,6 +417,8 @@ private void ExtensionInspectorGUI() var registeredPlugins = GLTFSettings.GetDefaultSettings().ImportPlugins; var overridePlugins = t._importPlugins; + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Available Import Plugins", EditorStyles.boldLabel); EditorGUILayout.LabelField("OVERRIDE", EditorStyles.miniLabel, GUILayout.Width(60)); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("", GUILayout.Width(16)); @@ -465,6 +507,34 @@ private static string SanitizePath(string subAssetName) } return sb.ToString(); } + + private static Editor cachedMateriaLibraryEditor; + public override void DrawPreview(Rect previewArea) + { + // Is the root object a MaterialLibrary? Then draw the preview of that. + // Otherwise, use base implementation. + // get the assetimporter target object: + if (assetTarget is MaterialLibrary materialLibrary) + { + var subassets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(materialLibrary)).Where(x => x is Material).ToArray(); + CreateCachedEditor(subassets, typeof(MaterialEditor), ref cachedMateriaLibraryEditor); + cachedMateriaLibraryEditor.DrawPreview(previewArea); + } + else + { + base.DrawPreview(previewArea); + } + } + + protected override bool useAssetDrawPreview + { + get + { + if (assetTarget is MaterialLibrary) + return false; + return true; + } + } } public static class GLTFImporterHelper diff --git a/Editor/Scripts/GLTFSettingsInspector.cs b/Editor/Scripts/GLTFSettingsInspector.cs index 9d09e5106..26b4bc3da 100644 --- a/Editor/Scripts/GLTFSettingsInspector.cs +++ b/Editor/Scripts/GLTFSettingsInspector.cs @@ -58,11 +58,12 @@ private static void CalculateCacheStats() private static SerializedObject m_SerializedObject; private static int m_ActiveEditorIndex = 0; - private static readonly string[] m_TabNames = new string[2] { "Export", "Import" }; + private static readonly string[] m_TabNames = new string[3] { "Export", "Import", "Build" }; private static readonly string key = typeof(GLTFSettings) + "ActiveEditorIndex"; internal static void DrawGLTFSettingsGUI(GLTFSettings settings, SerializedObject m_SerializedObject) { + var shaderStripping = m_SerializedObject.FindProperty(nameof(GLTFSettings.shaderStrippingSettings)); EditorGUIUtility.labelWidth = 220; m_SerializedObject.Update(); @@ -81,6 +82,15 @@ internal static void DrawGLTFSettingsGUI(GLTFSettings settings, SerializedObject GUILayout.FlexibleSpace(); } + if (m_ActiveEditorIndex == 2) + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(shaderStripping); + if (EditorGUI.EndChangeCheck()) + m_SerializedObject.ApplyModifiedProperties(); + + } + else if (m_ActiveEditorIndex == 1) { var tooltip = "These plugins are enabled by default when importing a glTF file at runtime.\nFor assets imported in the editor, adjust plugin settings on the respective importer."; @@ -105,6 +115,8 @@ internal static void DrawGLTFSettingsGUI(GLTFSettings settings, SerializedObject { do { + if (prop.name == shaderStripping.name) + continue; EditorGUILayout.PropertyField(prop, true); switch (prop.name) { @@ -155,6 +167,7 @@ internal static void OnPluginsGUI(IEnumerable plugins, bool allowDis foreach (var plugin in plugins .OrderBy(x => { + if (!x) return "ZZZ"; var displayName = x.GetType().Assembly.GetName().Name; if (displayName == "UnityGLTFScripts") displayName = "____"; return displayName; @@ -179,6 +192,7 @@ internal static void OnPluginsGUI(IEnumerable plugins, bool allowDis var expanded = SessionState.GetBool(key, false); using (new GUILayout.HorizontalScope()) { + bool wasEnabled = plugin.Enabled; if (plugin.AlwaysEnabled || !allowDisabling) { plugin.Enabled = true; @@ -192,6 +206,8 @@ internal static void OnPluginsGUI(IEnumerable plugins, bool allowDis { plugin.Enabled = GUILayout.Toggle(plugin.Enabled, "", GUILayout.Width(12)); } + if (plugin.Enabled != wasEnabled) + EditorUtility.SetDirty(plugin); var label = new GUIContent(displayName, plugin.Description); EditorGUI.BeginDisabledGroup(!plugin.Enabled); diff --git a/Editor/Scripts/Internal/AvatarUtils.cs b/Editor/Scripts/Internal/AvatarUtils.cs index e81a32231..a9a7a5e66 100644 --- a/Editor/Scripts/Internal/AvatarUtils.cs +++ b/Editor/Scripts/Internal/AvatarUtils.cs @@ -12,75 +12,78 @@ internal class AvatarUtils // This does not need to be hard-coded. public static Dictionary HumanSkeletonNames = new Dictionary() { - {"mixamorig:Spine1", "Chest"}, - {"mixamorig:Head", "Head" }, - {"mixamorig:Hips", "Hips" }, - {"mixamorig:LeftHandIndex3", "Left Index Distal" }, - {"mixamorig:LeftHandIndex2", "Left Index Intermediate" }, - {"mixamorig:LeftHandIndex1", "Left Index Proximal" }, - {"mixamorig:LeftHandPinky3", "Left Little Distal" }, - {"mixamorig:LeftHandPinky2", "Left Little Intermediate" }, - {"mixamorig:LeftHandPinky1", "Left Little Proximal" }, - {"mixamorig:LeftHandMiddle3", "Left Middle Distal" }, - {"mixamorig:LeftHandMiddle2", "Left Middle Intermediate" }, - {"mixamorig:LeftHandMiddle1", "Left Middle Proximal" }, - {"mixamorig:LeftHandRing3", "Left Ring Distal" }, - {"mixamorig:LeftHandRing2", "Left Ring Intermediate" }, - {"mixamorig:LeftHandRing1", "Left Ring Proximal" }, - {"mixamorig:LeftHandThumb3", "Left Thumb Distal" }, - {"mixamorig:LeftHandThumb2", "Left Thumb Intermediate" }, - {"mixamorig:LeftHandThumb1", "Left Thumb Proximal" }, - {"mixamorig:LeftFoot", "LeftFoot" }, - {"mixamorig:LeftHand", "LeftHand" }, - {"mixamorig:LeftForeArm", "LeftLowerArm" }, - {"mixamorig:LeftLeg", "LeftLowerLeg" }, - {"mixamorig:LeftShoulder", "LeftShoulder" }, - {"mixamorig:LeftToeBase", "LeftToes" }, - {"mixamorig:LeftArm", "LeftUpperArm" }, - {"mixamorig:LeftUpLeg", "LeftUpperLeg" }, - {"mixamorig:Neck", "Neck" }, - {"mixamorig:RightHandIndex3", "Right Index Distal" }, - {"mixamorig:RightHandIndex2", "Right Index Intermediate" }, - {"mixamorig:RightHandIndex1", "Right Index Proximal" }, - {"mixamorig:RightHandPinky3", "Right Little Distal" }, - {"mixamorig:RightHandPinky2", "Right Little Intermediate" }, - {"mixamorig:RightHandPinky1", "Right Little Proximal" }, - {"mixamorig:RightHandMiddle3", "Right Middle Distal" }, - {"mixamorig:RightHandMiddle2", "Right Middle Intermediate" }, - {"mixamorig:RightHandMiddle1", "Right Middle Proximal" }, - {"mixamorig:RightHandRing3", "Right Ring Distal" }, - {"mixamorig:RightHandRing2", "Right Ring Intermediate" }, - {"mixamorig:RightHandRing1", "Right Ring Proximal" }, - {"mixamorig:RightHandThumb3", "Right Thumb Distal" }, - {"mixamorig:RightHandThumb2", "Right Thumb Intermediate" }, - {"mixamorig:RightHandThumb1", "Right Thumb Proximal" }, - {"mixamorig:RightFoot", "RightFoot" }, - {"mixamorig:RightHand", "RightHand" }, - {"mixamorig:RightForeArm", "RightLowerArm" }, - {"mixamorig:RightLeg", "RightLowerLeg" }, - {"mixamorig:RightShoulder", "RightShoulder" }, - {"mixamorig:RightToeBase", "RightToes" }, - {"mixamorig:RightArm", "RightUpperArm" }, - {"mixamorig:RightUpLeg", "RightUpperLeg" }, - {"mixamorig:Spine", "Spine" }, - {"mixamorig:Spine2", "UpperChest" }, + {"mixamorig:spine1", "Chest"}, + {"mixamorig:head", "Head" }, + {"mixamorig:hips", "Hips" }, + {"mixamorig:lefthandindex3", "Left Index Distal" }, + {"mixamorig:lefthandindex2", "Left Index Intermediate" }, + {"mixamorig:lefthandindex1", "Left Index Proximal" }, + {"mixamorig:leftHandpinky3", "Left Little Distal" }, + {"mixamorig:lefthandpinky2", "Left Little Intermediate" }, + {"mixamorig:lefthandpinky1", "Left Little Proximal" }, + {"mixamorig:lefthandmiddle3", "Left Middle Distal" }, + {"mixamorig:leftHandmiddle2", "Left Middle Intermediate" }, + {"mixamorig:lefthandmiddle1", "Left Middle Proximal" }, + {"mixamorig:lefthandring3", "Left Ring Distal" }, + {"mixamorig:lefthandring2", "Left Ring Intermediate" }, + {"mixamorig:lefthandring1", "Left Ring Proximal" }, + {"mixamorig:lefthandthumb3", "Left Thumb Distal" }, + {"mixamorig:lefthandthumb2", "Left Thumb Intermediate" }, + {"mixamorig:lefthandthumb1", "Left Thumb Proximal" }, + {"mixamorig:leftfoot", "LeftFoot" }, + {"mixamorig:lefthand", "LeftHand" }, + {"mixamorig:leftforearm", "LeftLowerArm" }, + {"mixamorig:leftleg", "LeftLowerLeg" }, + {"mixamorig:leftshoulder", "LeftShoulder" }, + {"mixamorig:lefttoebase", "LeftToes" }, + {"mixamorig:leftarm", "LeftUpperArm" }, + {"mixamorig:leftupleg", "LeftUpperLeg" }, + {"mixamorig:neck", "Neck" }, + {"mixamorig:righthandindex3", "Right Index Distal" }, + {"mixamorig:righthandindex2", "Right Index Intermediate" }, + {"mixamorig:righthandindex1", "Right Index Proximal" }, + {"mixamorig:righthandpinky3", "Right Little Distal" }, + {"mixamorig:righthandpinky2", "Right Little Intermediate" }, + {"mixamorig:righthandpinky1", "Right Little Proximal" }, + {"mixamorig:righthandmiddle3", "Right Middle Distal" }, + {"mixamorig:righthandmiddle2", "Right Middle Intermediate" }, + {"mixamorig:righthandmiddle1", "Right Middle Proximal" }, + {"mixamorig:righthandring3", "Right Ring Distal" }, + {"mixamorig:righthandring2", "Right Ring Intermediate" }, + {"mixamorig:righthandring1", "Right Ring Proximal" }, + {"mixamorig:righthandthumb3", "Right Thumb Distal" }, + {"mixamorig:righthandthumb2", "Right Thumb Intermediate" }, + {"mixamorig:righthandthumb1", "Right Thumb Proximal" }, + {"mixamorig:rightfoot", "RightFoot" }, + {"mixamorig:righthand", "RightHand" }, + {"mixamorig:rightforearm", "RightLowerArm" }, + {"mixamorig:rightleg", "RightLowerLeg" }, + {"mixamorig:rightshoulder", "RightShoulder" }, + {"mixamorig:righttoebase", "RightToes" }, + {"mixamorig:rightarm", "RightUpperArm" }, + {"mixamorig:rightupleg", "RightUpperLeg" }, + {"mixamorig:spine", "Spine" }, + {"mixamorig:spine2", "UpperChest" }, // Other common Avatar formats can also be added here // { "root", "" }, { "hips", "Hips" }, { "spine", "Spine" }, + { "spine1", "Chest" }, { "chest", "Chest" }, - { "upperChest", "UpperChest" }, + { "upperchest", "UpperChest" }, { "neck", "Neck" }, { "head", "Head" }, - { "leftEye", "LeftEye" }, + { "lefteye", "LeftEye" }, // { "eyeL_end", "" }, - { "rightEye", "RightEye" }, + { "righteye", "RightEye" }, // { "eyeR_end", "" }, - { "leftShoulder", "LeftShoulder" }, - { "leftUpperArm", "LeftUpperArm" }, - { "leftLowerArm", "LeftLowerArm" }, - { "leftHand", "LeftHand" }, + { "leftshoulder", "LeftShoulder" }, + { "leftupperarm", "LeftUpperArm" }, + { "leftarm", "LeftUpperArm" }, + { "leftlowerarm", "LeftLowerArm" }, + { "leftforearm", "LeftLowerArm" }, + { "lefthand", "LeftHand" }, // { "leftThumbMetacarpal", "" }, // { "leftThumbProximal", "" }, // { "leftThumbDistal", "" }, @@ -101,10 +104,10 @@ internal class AvatarUtils // { "leftLittleIntermediate", "" }, // { "leftLittleDistal", "" }, // { "littledistalL_end", "" }, - { "rightShoulder", "RightShoulder" }, - { "rightUpperArm", "RightUpperArm" }, - { "rightLowerArm", "RightLowerArm" }, - { "rightHand", "RightHand" }, + { "rightshoulder", "RightShoulder" }, + { "rightupperarm", "RightUpperArm" }, + { "rightlowerarm", "RightLowerArm" }, + { "righthand", "RightHand" }, // { "rightThumbMetacarpal", "" }, // { "rightThumbProximal", "" }, // { "rightThumbDistal", "" }, @@ -125,43 +128,49 @@ internal class AvatarUtils // { "rightLittleIntermediate", "" }, // { "rightLittleDistal", "" }, // { "littledistalR_end", "" }, - { "leftUpperLeg", "LeftUpperLeg" }, - { "leftLowerLeg", "LeftLowerLeg" }, - { "leftFoot", "LeftFoot" }, - { "leftToes", "LeftToes" }, + { "leftupperleg", "LeftUpperLeg" }, + { "leftupleg", "LeftUpperLeg" }, + { "leftlowerleg", "LeftLowerLeg" }, + { "leftleg", "LeftLowerLeg" }, + { "leftfoot", "LeftFoot" }, + { "lefttoes", "LeftToes" }, + { "lefttoebase", "LeftToes" }, // { "toesL_end", "" }, - { "rightUpperLeg", "RightUpperLeg" }, - { "rightLowerLeg", "RightLowerLeg" }, - { "rightFoot", "RightFoot" }, - { "rightToes", "RightToes" }, + { "rightupperleg", "RightUpperLeg" }, + { "rightupleg", "RightUpperLeg" }, + { "rightlowerleg", "RightLowerLeg" }, + { "rightleg", "RightLowerLeg" }, + { "rightfoot", "RightFoot" }, + { "righttoes", "RightToes" }, + { "righttoebase", "RightToes" }, // { "toesR_end", "" }, // Meta Avatar - {"Hips_jnt", "Hips"}, - {"SpineLower_jnt", "Spine"}, - {"SpineMiddle_jnt", "Chest"}, - {"Chest_jnt", "UpperChest"}, - {"Neck_jnt", "Neck"}, - {"Head_jnt", "Head"}, - {"Jaw_jnt", "Jaw"}, - {"LeftEye_jnt", "LeftEye"}, - {"RightEye_jnt", "RightEye"}, - {"LeftShoulder_jnt", "LeftShoulder"}, - {"LeftArmUpper_jnt", "LeftUpperArm"}, - {"LeftArmLower_jnt", "LeftLowerArm"}, - {"LeftHandWrist_jnt", "LeftHand"}, - {"RightShoulder_jnt", "RightShoulder"}, - {"RightArmUpper_jnt", "RightUpperArm"}, - {"RightArmLower_jnt", "RightLowerArm"}, - {"RightHandWrist_jnt", "RightHand"}, - {"LeftLegUpper_jnt", "LeftUpperLeg"}, - {"LeftLegLower_jnt", "LeftLowerLeg"}, - {"LeftFootBall_jnt", "LeftFoot"}, - {"LeftFootToe_jnt", "LeftToes"}, - {"RightLegUpper_jnt", "RightUpperLeg"}, - {"RightLegLower_jnt", "RightLowerLeg"}, - {"RightFootBall_jnt", "RightFoot"}, - {"RightFootToe_jnt", "RightToes"} + {"hips_jnt", "Hips"}, + {"spinelower_jnt", "Spine"}, + {"spinemiddle_jnt", "Chest"}, + {"chest_jnt", "UpperChest"}, + {"neck_jnt", "Neck"}, + {"head_jnt", "Head"}, + {"jaw_jnt", "Jaw"}, + {"lefteye_jnt", "LeftEye"}, + {"righteye_jnt", "RightEye"}, + {"leftshoulder_jnt", "LeftShoulder"}, + {"leftarmupper_jnt", "LeftUpperArm"}, + {"leftarmlower_jnt", "LeftLowerArm"}, + {"lefthandwrist_jnt", "LeftHand"}, + {"rightshoulder_jnt", "RightShoulder"}, + {"rightarmupper_jnt", "RightUpperArm"}, + {"rightarmlower_jnt", "RightLowerArm"}, + {"righthandwrist_jnt", "RightHand"}, + {"leftlegupper_jnt", "LeftUpperLeg"}, + {"leftleglower_jnt", "LeftLowerLeg"}, + {"leftfootball_jnt", "LeftFoot"}, + {"leftfoottoe_jnt", "LeftToes"}, + {"rightlegupper_jnt", "RightUpperLeg"}, + {"rightleglower_jnt", "RightLowerLeg"}, + {"rightfootball_jnt", "RightFoot"}, + {"rightfoottoe_jnt", "RightToes"} }; @@ -227,19 +236,43 @@ private static HumanBone[] CreateHuman(GameObject avatarRoot) Transform[] avatarTransforms = avatarRoot.GetComponentsInChildren(); foreach (Transform avatarTransform in avatarTransforms) { - if (HumanSkeletonNames.TryGetValue(avatarTransform.name, out string humanName)) - { - HumanBone bone = new HumanBone + string humanName = avatarTransform.name.ToLowerInvariant(); + if (HumanSkeletonNames.TryGetValue(humanName, out string newHumanName)) { + humanName = newHumanName; + } + else { + // strip away trailing _1, _2, etc. + var split = humanName.Split('_'); + var partAfterLastUnderscore = split[split.Length - 1]; + + // if the last part is a number, remove it + if (int.TryParse(partAfterLastUnderscore, out _)) + humanName = string.Join("_", split, 0, split.Length - 1); + if (HumanSkeletonNames.TryGetValue(humanName, out newHumanName)) + humanName = newHumanName; + + // we can also try prepending "mixamorig:" to the name + if (!HumanSkeletonNames.ContainsValue(humanName)) { - boneName = avatarTransform.name, - humanName = humanName, - limit = new HumanLimit() - }; - bone.limit.useDefaultValues = true; - - human.Add(bone); + humanName = "mixamorig:" + humanName; + if (HumanSkeletonNames.TryGetValue(humanName, out newHumanName)) + humanName = newHumanName; + } } - } + + if (!HumanSkeletonNames.ContainsValue(humanName)) + continue; + + HumanBone bone = new HumanBone + { + boneName = avatarTransform.name, + humanName = humanName, + limit = new HumanLimit() + }; + bone.limit.useDefaultValues = true; + + human.Add(bone); + } return human.ToArray(); } } diff --git a/Editor/Scripts/Internal/GLTFMaterialHelper.cs b/Editor/Scripts/Internal/GLTFMaterialHelper.cs index 213c562bd..4b89d42e1 100644 --- a/Editor/Scripts/Internal/GLTFMaterialHelper.cs +++ b/Editor/Scripts/Internal/GLTFMaterialHelper.cs @@ -92,7 +92,11 @@ public static void ValidateMaterialKeywords(Material material) var blendMode = material.GetInt(blendModeProp); isImplicitBlendMode = blendMode == 0; } - +#if UNITY_VISIONOS + // VisionOS doesn't support our roughness opaque rendererfeature, + // so on material import we set Volume/Transmission Materials to Transparent + isImplicitBlendMode = false; +#endif if (isImplicitBlendMode) { if (material.IsKeywordEnabled("_VOLUME_TRANSMISSION_ON")) diff --git a/Editor/Scripts/Internal/HumanoidSetup.cs b/Editor/Scripts/Internal/HumanoidSetup.cs index bbd7ce3c9..76d950fcc 100644 --- a/Editor/Scripts/Internal/HumanoidSetup.cs +++ b/Editor/Scripts/Internal/HumanoidSetup.cs @@ -10,7 +10,7 @@ internal static class HumanoidSetup { private static MethodInfo _SetupHumanSkeleton; - internal static Avatar AddAvatarToGameObject(GameObject gameObject) + internal static Avatar AddAvatarToGameObject(GameObject gameObject, bool flipForward) { HumanDescription description = AvatarUtils.CreateHumanDescription(gameObject); var bones = description.human; @@ -19,8 +19,15 @@ internal static Avatar AddAvatarToGameObject(GameObject gameObject) description.skeleton = skeletonBones; description.hasTranslationDoF = hasTranslationDoF; + var previousRotation = gameObject.transform.rotation; + if (flipForward) + gameObject.transform.rotation *= Quaternion.Euler(0,180,0); + Avatar avatar = AvatarBuilder.BuildHumanAvatar(gameObject, description); avatar.name = "Avatar"; + + if (flipForward) + gameObject.transform.rotation = previousRotation; if (!avatar.isValid || !avatar.isHuman) { diff --git a/Editor/Scripts/Internal/TextureImporterHelper.cs b/Editor/Scripts/Internal/TextureImporterHelper.cs index 522565761..17852ea84 100644 --- a/Editor/Scripts/Internal/TextureImporterHelper.cs +++ b/Editor/Scripts/Internal/TextureImporterHelper.cs @@ -8,22 +8,12 @@ namespace UnityGLTF { public class TextureImporterHelper { - private static MethodInfo GetFixedPlatformName; private const string DefaultTextureAssetGuid = "7b7ff3cec11c24c599d6f12443877d5e"; - public static TextureImporterFormat GetAutomaticFormat(Texture2D texture, string platform) + public static TextureImporterFormat GetAutomaticFormat(Texture2D texture, BuildTarget buildTarget) { var defaultTextureImporter = AssetImporter.GetAtPath(AssetDatabase.GUIDToAssetPath(DefaultTextureAssetGuid)) as TextureImporter; - // defaultTextureImporter = new TextureImporter(); - - if (GetFixedPlatformName == null) - GetFixedPlatformName = typeof(TextureImporter) - .GetMethod("GetFixedPlatformName", BindingFlags.Static | BindingFlags.NonPublic); - if (GetFixedPlatformName == null) - throw new MissingMethodException("TextureImporter.GetFixedPlatformName"); - - platform = GetFixedPlatformName.Invoke(null, new object[] { platform }) as string; TextureImporterSettings importerSettings = new TextureImporterSettings(); importerSettings.aniso = 5; @@ -34,18 +24,8 @@ public static TextureImporterFormat GetAutomaticFormat(Texture2D texture, string var hasAlpha = TextureUtil.HasAlphaTextureFormat(texture.format); var isHDR = TextureUtil.IsHDRFormat(texture.format); - - // var platformSettings = new TextureImporterPlatformSettings(); - - foreach (BuildPlatform validPlatform in BuildPlatforms.instance.GetValidPlatforms()) - { - // TextureImporter.RecommendedFormatsFromTextureTypeAndPlatform - if (validPlatform.name == platform) - return TextureImporter.DefaultFormatFromTextureParameters(importerSettings, defaultTextureImporter.GetPlatformTextureSettings(platform), hasAlpha, isHDR, validPlatform.defaultTarget); - } - // This should never happen - return TextureImporterFormat.Automatic; + return TextureImporter.DefaultFormatFromTextureParameters(importerSettings, defaultTextureImporter.GetDefaultPlatformTextureSettings(), hasAlpha, isHDR, buildTarget); } } } \ No newline at end of file diff --git a/Editor/Scripts/PackageVersionPreprocessBuild.cs b/Editor/Scripts/PackageVersionPreprocessBuild.cs new file mode 100644 index 000000000..d055b12c9 --- /dev/null +++ b/Editor/Scripts/PackageVersionPreprocessBuild.cs @@ -0,0 +1,39 @@ +using UnityEditor; +using UnityEditor.Build; +using UnityEditor.Build.Reporting; +using UnityEditor.Callbacks; +using UnityEngine; + +namespace UnityGLTF +{ + public class PackageVersionPreprocessBuild : IPreprocessBuildWithReport + { + public int callbackOrder + { + get => 0; + } + + private static void SetPackageVersion(bool resetValue = false) + { + var defaultSettings = GLTFSettings.GetOrCreateSettings(); + if (!defaultSettings) + return; + + defaultSettings.packageVersion = resetValue ? null : defaultSettings.GetUnityGltfVersion(); + EditorUtility.SetDirty(defaultSettings); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + + public void OnPreprocessBuild(BuildReport report) + { + SetPackageVersion(); + } + + [PostProcessBuild(1)] + public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) + { + SetPackageVersion(true); + } + } +} \ No newline at end of file diff --git a/Editor/Scripts/PackageVersionPreprocessBuild.cs.meta b/Editor/Scripts/PackageVersionPreprocessBuild.cs.meta new file mode 100644 index 000000000..4db45e4d0 --- /dev/null +++ b/Editor/Scripts/PackageVersionPreprocessBuild.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 44af7bd45fd643e6abb82d8a482e9daa +timeCreated: 1739877372 \ No newline at end of file diff --git a/Editor/Scripts/ShaderGraph/InternalShaderGraph/PBRGraphGUI.cs b/Editor/Scripts/ShaderGraph/InternalShaderGraph/PBRGraphGUI.cs index 11f81acb1..e367bf100 100644 --- a/Editor/Scripts/ShaderGraph/InternalShaderGraph/PBRGraphGUI.cs +++ b/Editor/Scripts/ShaderGraph/InternalShaderGraph/PBRGraphGUI.cs @@ -72,7 +72,8 @@ public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] pro // looks like GetInstanceID() changes per import; so we use the path instead var path = AssetDatabase.GetAssetPath(targetMat) + "_" + targetMat.name; var materialEditingKey = nameof(PBRGraphGUI) + ".AllowGltfMaterialEditing." + path; - var isAllowed = SessionState.GetBool(materialEditingKey, false); + var parentAssetIsMaterialLibrary = !(AssetDatabase.LoadMainAssetAtPath(path) is GameObject); + var isAllowed = SessionState.GetBool(materialEditingKey, parentAssetIsMaterialLibrary); var allowMaterialEditing = EditorGUILayout.Toggle("Allow Editing", isAllowed); if (allowMaterialEditing != isAllowed) SessionState.SetBool(materialEditingKey, allowMaterialEditing); @@ -284,7 +285,10 @@ private void DrawGameObjectInfo(Material targetMaterial) EditorGUILayout.Toggle("Has Vertex Colors", currentMaterialInfo.hasColor); EditorGUI.EndDisabledGroup(); - if (currentMaterialInfo.hasColor != targetMaterial.IsKeywordEnabled("_VERTEX_COLORS_ON")) + /* + > _VERTEX_COLORS_ON is currently not used in the shader, so we can't really check for it + + if (currentMaterialInfo.hasColor != targetMaterial.IsKeywordEnabled("_VERTEX_COLORS_ON")) { EditorGUI.indentLevel++; var msg = ""; @@ -317,7 +321,7 @@ private void DrawGameObjectInfo(Material targetMaterial) }); } EditorGUI.indentLevel--; - } + }*/ EditorGUI.BeginDisabledGroup(true); EditorGUILayout.Toggle("Has UV0", currentMaterialInfo.hasUV0); @@ -489,10 +493,14 @@ private void DrawProperties(Material targetMaterial, MaterialProperty[] properti propertyList.RemoveAll(x => x.name.EndsWith("_ST", StringComparison.Ordinal)); } #endif - if (!targetMaterial.IsKeywordEnabled("_VOLUME_TRANSMISSION_ON")) + if (!targetMaterial.IsKeywordEnabled("_VOLUME_TRANSMISSION_ON") && !targetMaterial.IsKeywordEnabled("_VOLUME_TRANSMISSION_ANDDISPERSION")) { propertyList.RemoveAll(x => x.name.StartsWith("transmission", StringComparison.Ordinal)); } + if (!targetMaterial.IsKeywordEnabled("_VOLUME_TRANSMISSION_ANDDISPERSION")) + { + propertyList.RemoveAll(x => x.name.StartsWith("dispersion", StringComparison.Ordinal)); + } if (!targetMaterial.HasProperty("_VOLUME_ON") || !(targetMaterial.GetFloat("_VOLUME_ON") > 0.5f)) { propertyList.RemoveAll(x => x.name.StartsWith("thickness", StringComparison.Ordinal) || x.name.StartsWith("attenuation", StringComparison.Ordinal)); @@ -509,6 +517,11 @@ private void DrawProperties(Material targetMaterial, MaterialProperty[] properti { propertyList.RemoveAll(x => x.name.StartsWith("clearcoat", StringComparison.Ordinal)); } + if (!targetMaterial.IsKeywordEnabled("_SHEEN_ON")) + { + propertyList.RemoveAll(x => x.name.StartsWith("sheen", StringComparison.Ordinal)); + } + if (HasPropertyButNoTex(targetMaterial, "occlusionTexture")) { propertyList.RemoveAll(x => x.name == "occlusionStrength" || (x.name.StartsWith("occlusionTexture", StringComparison.Ordinal) && x.name != "occlusionTexture")); diff --git a/Editor/Scripts/ShaderGraph/MaterialEditorBridge.cs b/Editor/Scripts/ShaderGraph/MaterialEditorBridge.cs index fc1d6993b..d5aa67d01 100644 --- a/Editor/Scripts/ShaderGraph/MaterialEditorBridge.cs +++ b/Editor/Scripts/ShaderGraph/MaterialEditorBridge.cs @@ -1,4 +1,6 @@ +using System.Collections.Generic; using System.IO; +using System.Linq; using UnityEditor; using UnityEngine; @@ -11,8 +13,8 @@ private static void ConnectGltfExporterToPbrGraphGUI() { PBRGraphGUI.ImmutableMaterialChanged += OnImmutableMaterialChanged; } - - private static void OnImmutableMaterialChanged(Material material) + + internal static void OnImmutableMaterialChanged(Material material) { if (!material) return; if (!AssetDatabase.Contains(material)) return; @@ -23,20 +25,23 @@ private static void OnImmutableMaterialChanged(Material material) // var mainAsset = AssetDatabase.LoadMainAssetAtPath(assetPath); // Transform[] rootTransforms = null; - var exporter = new GLTFSceneExporter((Transform[]) null, new ExportContext()); - // load all materials from mainAsset var importer = AssetImporter.GetAtPath(assetPath) as GLTFImporter; if (!importer) return; + var materialsToExport = importer.m_Materials.Where(x => x is Material).Cast().ToList(); + + SaveAssetWithMaterials(assetPath, materialsToExport); + } + + internal static void SaveAssetWithMaterials(string assetPath, List materials) + { + var importer = AssetImporter.GetAtPath(assetPath) as GLTFImporter; + var exporter = new GLTFSceneExporter((Transform[]) null, new ExportContext()); + // load all materials from mainAsset // var allObjects = AssetDatabase.LoadAllAssetsAtPath(assetPath); - foreach (var obj in importer.m_Materials) + foreach (var mat in materials) { - if (!(obj is Material mat)) - { - // TODO warn that there are extra objects we can't store right now - continue; - } - + if (!mat) continue; exporter.ExportMaterial(mat); } @@ -54,7 +59,7 @@ private static void OnImmutableMaterialChanged(Material material) var importedTextures = importer.m_Textures; // If these don't match, we could only try by name... not ideal. // They may not match due to different sampler settings etc. - if (exportedTextures.Count == importedTextures.Length) + if (exportedTextures?.Count == importedTextures.Length) { for (int i = 0; i < exportedTextures.Count; i++) { @@ -81,7 +86,7 @@ private static void OnImmutableMaterialChanged(Material material) // after importing a changed material, which can be confusing. Could be caching inside PBRGraphGUI AssetDatabase.Refresh(); - EditorApplication.update += () => + EditorApplication.delayCall += () => { // Repaint Inspector, newly imported values can be different if we're not perfectly round tripping foreach (var editor in ActiveEditorTracker.sharedTracker.activeEditors) @@ -90,5 +95,6 @@ private static void OnImmutableMaterialChanged(Material material) } }; } + } } diff --git a/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs b/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs new file mode 100644 index 000000000..629e4ec50 --- /dev/null +++ b/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs @@ -0,0 +1,213 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; +using UnityEngine.UIElements; +using Object = UnityEngine.Object; + +namespace UnityGLTF +{ + [CustomEditor(typeof(MaterialLibrary))] + public class MaterialLibraryEditor: Editor + { + public override VisualElement CreateInspectorGUI() + { + var v = new VisualElement(); + + var materialLibrary = (MaterialLibrary) target; + var assetPath = AssetDatabase.GetAssetPath(materialLibrary); + + void AddMaterial() + { + // parse the glTF file, append an entry to the materials list + var subAssets = AssetDatabase.LoadAllAssetsAtPath(assetPath).Where(x => x is Material).Cast().ToList(); + var count = subAssets.Count; + var newMaterial = new Material(Shader.Find("UnityGLTF/PBRGraph")); + newMaterial.name = $"Material {count}"; + subAssets.Add(newMaterial); + + // write the file out again + MaterialEditorBridge.SaveAssetWithMaterials(assetPath, subAssets); + OnEnable(); + Repaint(); + }; + + var btn = new Button(AddMaterial) + { + text = "Add Material" + }; + var editBtn = new Button(() => + { + var path = AssetDatabase.GetAssetPath(target); + if (string.IsNullOrEmpty(path)) return; + EditorUtility.OpenWithDefaultApp(path); + }) + { + text = "Edit File" + }; + v.Add(btn); + v.Add(editBtn); + + var itemSize = 48; + var list = new ListView(); + list.headerTitle = "Materials"; + list.showFoldoutHeader = true; + list.showAddRemoveFooter = true; + list.fixedItemHeight = itemSize; + list.makeItem = () => new MaterialElement(null, material => + { + MaterialEditorBridge.SaveAssetWithMaterials(assetPath, AssetDatabase.LoadAllAssetsAtPath(assetPath).Where(x => x is Material).Cast().ToList()); + }); + list.bindItem = (e, i) => + { + if (i >= materials.Length) return; + if (materials == null) return; + var mat = materials[i]; + if (!mat) return; + var elem = e as MaterialElement; + elem.SetMaterial(mat); + }; + list.itemsSource = materials; + list.itemsRemoved += (removedItems) => + { + var removedMaterials = new List(); + foreach (var item in removedItems) + { + var mat = materials[item]; + if (mat) removedMaterials.Add(mat); + } + MaterialEditorBridge.SaveAssetWithMaterials(AssetDatabase.GetAssetPath(target), materials.Except(removedMaterials).ToList()); + OnEnable(); + Repaint(); + }; + list.itemsAdded += (addedItems) => + { + var addedMaterials = new List(); + foreach (var item in addedItems) + { + var mat = new Material(Shader.Find("UnityGLTF/PBRGraph")); + addedMaterials.Add(mat); + } + MaterialEditorBridge.SaveAssetWithMaterials(AssetDatabase.GetAssetPath(target), materials.Concat(addedMaterials).ToList()); + OnEnable(); + Repaint(); + }; + + // v.Add(list); + + return v; + } + + class MaterialElement: VisualElement + { + private Material material; + public MaterialElement(Material mat, Action changeCallback) + { + var itemSize = 48; + style.flexDirection = FlexDirection.Row; + style.flexGrow = 0; + style.marginRight = 8; + + var img = new Image + { + style = + { + width = itemSize + } + }; + Add(img); + var lbl = new TextField() + { + isDelayed = true, + style = + { + unityTextAlign = TextAnchor.MiddleLeft, + height = itemSize + } + }; + lbl.bindingPath = "m_Name"; + Add(lbl); + + // allow starting to drag on the image + img.RegisterCallback(e => + { + DragAndDrop.PrepareStartDrag(); + DragAndDrop.objectReferences = new Object[] { material }; + DragAndDrop.StartDrag("Dragging Materials"); + e.StopPropagation(); + }); + + // on double click on the text, make the text editable + lbl.RegisterCallback(e => + { + if (e.clickCount != 2) return; + }); + + lbl.RegisterCallback>(e => + { + material.name = e.newValue; + changeCallback?.Invoke(material); + }); + } + + public void SetMaterial(Material mat) + { + material = mat; + var label = this.Q(); + label.SetValueWithoutNotify(mat ? mat.name : ""); + var img = this.Q(); + if (!mat) + { + img.image = null; + return; + } + var preview = AssetPreview.GetAssetPreview(mat); + img.image = preview; + if (!preview) + { + var instanceId = mat.GetInstanceID(); + void WaitForPreview() + { + if (AssetPreview.IsLoadingAssetPreview(instanceId)) return; + EditorApplication.update -= WaitForPreview; + img.image = AssetPreview.GetAssetPreview(mat); + } + EditorApplication.update += WaitForPreview; + } + } + } + + private Editor materialEditor; + private Material[] materials; + private void OnEnable() + { + if (!target) return; + if (!(target is MaterialLibrary)) return; + + materials = AssetDatabase + .LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(target)) + .Where(x => x is Material) + .Cast() + .ToArray(); + + materialEditor = null; + } + + public override void DrawPreview(Rect previewArea) + { + CreateCachedEditor(materials, typeof(MaterialEditor), ref materialEditor); + if (!materialEditor) return; + if (!materialEditor.target) return; + foreach (var t in materialEditor.targets) + { + if (t) continue; + OnEnable(); + return; + } + materialEditor.DrawPreview(previewArea); + } + + public override bool HasPreviewGUI() => true; + } +} \ No newline at end of file diff --git a/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs.meta b/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs.meta new file mode 100644 index 000000000..ac5bb0adb --- /dev/null +++ b/Editor/Scripts/ShaderGraph/MaterialLibraryEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 39fe50f46da644868c83c8d18e1df7cb +timeCreated: 1727343866 \ No newline at end of file diff --git a/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs b/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs new file mode 100644 index 000000000..cd5efaac5 --- /dev/null +++ b/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs @@ -0,0 +1,64 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEditor.Build; +using UnityEditor.Rendering; + +namespace UnityGLTF +{ + internal class ShaderPassStripping : IPreprocessShaders + { + private static readonly string[] builtInPasses = new[] + { + "BuiltIn Forward", + "BuiltIn ForwardAdd", + "BuiltIn Deferred", + }; + + private static readonly string[] urpDeferredPasses = new[] + { + "GBuffer", + }; + + private static readonly string[] urpForwardPasses = new[] + { + "Universal ForwardAdd", + // Ignore ForwardOnly pass, because it can also be used for Deferred rendering! + }; + + + // Use callbackOrder to set when Unity calls this shader preprocessor. Unity starts with the preprocessor that has the lowest callbackOrder value. + public int callbackOrder => 0; + public GLTFSettings.ShaderStrippingSettings settings; + + public ShaderPassStripping() + { + if (GLTFSettings.TryGetSettings(out var s)) + settings = s.shaderStrippingSettings; + } + + private bool ShouldStripPass(ShaderSnippetData snippet) + { + if (settings.stripPasses.HasFlag(GLTFSettings.ShaderStrippingSettings.ShaderPassStrippingMode.URPDeferredPasses) && urpDeferredPasses.Contains(snippet.passName)) + return true; + if (settings.stripPasses.HasFlag(GLTFSettings.ShaderStrippingSettings.ShaderPassStrippingMode.URPForwardPasses) && urpForwardPasses.Contains(snippet.passName)) + return true; + if (settings.stripPasses.HasFlag(GLTFSettings.ShaderStrippingSettings.ShaderPassStrippingMode.BuiltInPasses) && builtInPasses.Contains(snippet.passName)) + return true; + return false; + } + + public void OnProcessShader( + Shader shader, ShaderSnippetData snippet, IList data) + { + if (!settings.stripPassesFromAllShaders && !shader.name.Contains("UnityGLTF/PBRGraph")) + return; + + if (ShouldStripPass(snippet)) + { + Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Stripping UnityGLTF shader: {0} with pass: {1}", shader.name, snippet.passName); + data.Clear(); + } + } + } +} \ No newline at end of file diff --git a/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs.meta b/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs.meta new file mode 100644 index 000000000..5dca88d5a --- /dev/null +++ b/Editor/Scripts/ShaderGraph/ShaderPassStripping.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7d3ea702ff5a4e9d8f7dea1a97d69ee1 +timeCreated: 1726734748 \ No newline at end of file diff --git a/README.md b/README.md index b5fe1020a..5c90fa438 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,7 @@ Note: If any other BII GmbH repository uses changes made in this repository, the # UnityGLTF ![Great coverage of glTF 2.0.](https://img.shields.io/badge/glTF%20Spec-2.0-brightgreen) -![Unity 2021.3+ and URP recommended](https://img.shields.io/badge/Unity-2021.3%E2%80%932023.1%2B-brightgreen) -![Support for 2020.3 is not actively maintained](https://img.shields.io/badge/Unity-2020.3-yellow) +![Unity 2021.3+ and URP recommended](https://img.shields.io/badge/Unity-2021.3%E2%80%936000.0%2B-brightgreen) ![URP supported](https://img.shields.io/badge/Render%20Pipeline-URP-brightgreen) ![BiRP supported with better support on 2021.3+](https://img.shields.io/badge/Render%20Pipeline-Built--in-brightgreen) @@ -32,30 +31,35 @@ The library is designed to be easy to extend with additional extensions to the g - [UnityGLTF and glTFast](#unitygltf-and-gltfast) - [Supported Features and Extensions](#supported-features-and-extensions) - [Import and Export](#import-and-export) - - [Export only](#export-only) - [Import only](#import-only) + - [Export only](#export-only) - [glTF Materials](#gltf-materials) - [Material Conversions](#material-conversions) + - [Material and Shader Export Compatibility](#material-and-shader-export-compatibility) - [Configure for Refractive Materials (Transmission and Volume)](#configure-for-refractive-materials-transmission-and-volume) - [Material Setup](#material-setup) - [URP](#urp) - [Built-In](#built-in) - [HDRP](#hdrp) - - [Material and Shader Export Compatibility](#material-and-shader-export-compatibility) - [Exporting glTF Files](#exporting-gltf-files) - [Testing, debugging, compatibility](#testing-debugging-compatibility) - [Animation Export](#animation-export) - [Animator Controller](#animator-controller) - - [GLTFRecorder](#gltfrecorder-api) + - [GLTFRecorder API](#gltfrecorder-api) - [Timeline Recorder](#timeline-recorder) - - [Legacy: Animation Component](#legacy-animation-component) - - [KHR\_animation\_pointer](#khr_animation_pointer-support) -- [Blendshape Export](#blend-shape-export) + - [Legacy Animation Component](#legacy-animation-component) + - [KHR\_animation\_pointer support](#khr_animation_pointer-support) +- [Blend Shape Export](#blend-shape-export) - [Importing glTF files](#importing-gltf-files) + - [Runtime Import](#runtime-import) + - [Load via Gltf Component](#load-via-gltf-component) + - [Load via code example:](#load-via-code-example) + - [Ensure shaders are available in your build](#ensure-shaders-are-available-in-your-build) - [Editor Import](#editor-import) - [Default Importer Selection](#default-importer-selection) - [Animation Import](#animation-import) - [Extensibility](#extensibility) + - [Example for custom plugin](#example-for-custom-plugin) - [Known Issues](#known-issues) - [Contributing](#contributing) - [Unity Package](#unity-package) @@ -80,31 +84,24 @@ You can also install this package from git, compatible with UPM (Unity Package M 5. Click Add. > **Note**: If you want to target a specific version, append `#release/` or a specific commit to the URL above. -> Example: `https://github.com/KhronosGroup/UnityGLTF.git#release/2.9.0-rc`. +> Example: `https://github.com/KhronosGroup/UnityGLTF.git#release/2.14.1`. ## Unity Version and Render Pipeline Compatibility -Please use Long-Term Support versions of Unity (2021.3+, 2022.3+, 2023.3+). +Please use Long-Term Support versions of Unity (2021.3+, 2022.3+, 6000.0+). **Recommended:** -- Unity 2021.3+, Unity 2022.3+, Unity 2023.3+ +- Unity 2021.3+, Unity 2022.3+, Unity 6+ - Linear colorspace - Universal Render Pipeline (URP) and Built-In Render Pipeline (BiRP) -**Tested:** -- Unity 2020.3+ -- Linear colorspace -- Universal Render Pipeline (URP) and Built-In Render Pipeline (BiRP) - -**Legacy:** -These configurations have been working in the past. They will not be updated with material extensions or new features. Also, issues in these configurations will most likely not be addressed if they're not also happening on later versions. -- Unity 2018.4–2019.4 -- Gamma colorspace - **HDRP**: - Currently limited functionality. -> **Note:** Issues on non-LTS Unity versions (not on 2020.3, 2021.3, 2022.3, ...) will most likely not be addressed. Please use LTS (Long-Term Support) versions where possible. +**Legacy:** +- When using Unity 2020.3, please use an older version of UnityGLTF, like 2.9.1-rc and before. + +> **Note:** Issues on non-LTS Unity versions (not on 2021.3, 2022.3, 6000.0...) will most likely not be addressed. Please use LTS (Long-Term Support) versions where possible. ## UnityGLTF and glTFast @@ -126,7 +123,7 @@ The lists below are non-conclusive and in no particular order. Note that there a ### Import and Export -- Animations +- Animation and Animator with multiple clips - Skinned Mesh Renderers - Blend Shapes - Sparse accessors for Blend Shapes @@ -134,44 +131,44 @@ The lists below are non-conclusive and in no particular order. Note that there a - Vertex Colors - Cameras (perspective, orthographic) - URP and Built-In Render Pipeline [Learn More](#material-and-shader-export-compatibility) -- KHR_lights_punctual (point, spot, and directional lights) -- KHR_texture_transform (UV offset, scale, rotation) -- KHR_materials_unlit -- KHR_materials_transmission (glass-like materials) -- KHR_materials_volume (refractive materials) -- KHR_materials_ior (for transmission and volume) -- KHR_materials_emissive_strength (emissive values greater than 1) -- KHR_materials_iridescence (thin-film interference, like oil on water) -- KHR_materials_clearcoat (secondary specular layer, like a coat of varnish) -- KHR_materials_specular (partial support) -- KHR_materials_dispersion (refractive index dispersion) -- MSFT_lods (level of detail) -- KHR_animation_pointer (arbitrary property animations) - +- [KHR_lights_punctual](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md) (point, spot, and directional lights) +- [KHR_texture_transform](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md) (UV offset, scale, rotation) +- [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md) (unlit surfaces) +- [KHR_materials_transmission](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md) (glass-like materials) +- [KHR_materials_volume](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md) (refractive materials) +- [KHR_materials_ior](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_ior/README.md) (for transmission and volume) +- [KHR_materials_emissive_strength](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md) (emissive values greater than 1) +- [KHR_materials_iridescence](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_iridescence/README.md) (thin-film interference, like oil on water) +- [KHR_materials_clearcoat](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md) (secondary specular layer, like a coat of varnish) +- [KHR_materials_sheen](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md) (fabric surfaces) +- [KHR_materials_specular](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md) (partial support) +- [KHR_materials_dispersion](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_dispersion/README.md) (refractive index dispersion) +- [KHR_animation_pointer](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_animation_pointer/README.md) (arbitrary property animations) +- [KHR_node_visibility](https://github.com/KhronosGroup/glTF/blob/fbe806836526cdd8cd99ed3770b1c56df56c6863/extensions/2.0/Khronos/KHR_node_visibility/README.md) (GameObject active state) ![Non-Ratified Extension](https://img.shields.io/badge/⚠️%20Non--Ratified%20Extension-gray) +- [MSFT_lod](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md) (level of detail) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray) ### Import only -- KHR_mesh_quantization (smaller buffers) -- EXT_mesh_gpu_instancing (instance data) -- KHR_draco_mesh_compression (requires [`com.unity.cloud.draco`](https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest)) -- KHR_texture_basisu (requires [`com.unity.cloud.ktx`](https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest)) -- EXT_meshopt_compression (requires [`com.unity.meshopt.decompress`](https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest)) +- [KHR_mesh_quantization](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md) (smaller buffers / smaller filesize) +- [KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) (requires [`com.unity.cloud.draco`](https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest)) +- [KHR_texture_basisu](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md) (requires [`com.unity.cloud.ktx`](https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest)) +- [EXT_mesh_gpu_instancing](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) (instance data) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray) +- [EXT_meshopt_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md) (requires [`com.unity.meshopt.decompress`](https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest)) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray) ### Export only -- KHR_materials_variants +- [KHR_materials_variants](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md) - Timeline recorder track for exporting animations in the editor and at runtime - Lossless keyframe optimization on export - All 2D textures can be exported, RenderTextures included – they're baked at export. - Optional plugin: Bake TMPro 3D objects to meshes on export - Optional plugin: Bake Particle Systems to meshes on export - Optional plugin: Bake Canvas to meshes on export -- Included plugin sample: KHR_audio +- Included plugin sample: [KHR_audio_emitter](https://github.com/KhronosGroup/glTF/pull/2137) ![Non-Ratified Extension](https://img.shields.io/badge/⚠️%20Non--Ratified%20Extension-gray) ## glTF Materials -To leverage the extended material model of glTF in Unity, use the `UnityGLTF/PBRGraph` material. -It allows the use of various glTF material extensions for import, export, and inside Unity. -This includes features that URP is missing, such as transmission, volume, and per-texture UV control. +The glTF shading model is physically based and supports many different types of surfaces. To use this extended material model of glTF in Unity, use the `UnityGLTF/PBRGraph` material. +It allows the use of various glTF material extensions for import, export, and inside Unity. The shader includes a number of features that URP is missing, such as transmission and rough refraction, sheen and clearcoat, and per-texture UV control. For unlit materials, use `UnityGLTF/UnlitGraph`. ### Material Conversions @@ -183,13 +180,13 @@ When a shader doesn't have a converter yet, UnityGLTF will ask if you want to cr After the conversion script has been created, you can edit it to correctly map from the source shader's properties to PBRGraph properties. When you switch such a shader to PBRGraph the next time, your conversion script will run and automatically translate the materials in the specified way. -> **Note:** Currently, conversion scripts aren't used automatically on glTF export. Convert materials at edit time for best results. +> **Note:** Currently, custom conversion scripts aren't used automatically on glTF export. For best results, convert materials in the Editor. ### Material and Shader Export Compatibility -If you want to design for glTF export, it's recommended to use Unity 2021.3+ with URP and the **UnityGLTF/PBRGraph** material. It comes with support for modern material extensions like refraction and iridescence, and allows for perfect roundtrips. Great for building glTF pipelines in and out of Unity. +If you want to design for glTF export, it's recommended to use Unity 2021.3+ with URP and the **UnityGLTF/PBRGraph** material. It comes with support for modern material extensions like refraction and iridescence, and allows for perfect roundtrips. This material works great for building glTF pipelines in and out of Unity. -| Render Pipeline | Shader | Notes | Source | +| Render Pipeline | Used Shader | Notes | Source | |----------------------------------------|--------------------------------------------------------------|----------------------------------------|--------------------| | URP on 2020.3+
Built-In on 2021.3+ | **UnityGLTF/PBRGraph**
☝️ *Use this if you're not sure* | Perfect roundtrip, Material Extensions | UnityGLTF | | | UnityGLTF/UnlitGraph | Perfect roundtrip | UnityGLTF | @@ -296,19 +293,19 @@ Timeline recording uses the GLTFRecorder API under the hood. ### Legacy Animation Component -> **Note**: Animation Component export only works in the Editor. For runtime export, use the GLTFRecorder capabilities. +> **Note**: Animation Component export only works in the Editor since Unity does not provide the required runtime access. For runtime export, use the `GLTFRecorder` capabilities. Animation components and their legacy clips can also be exported. ### KHR_animation_pointer support -UnityGLTF supports exporting animations with the KHR_animation_pointer extension. +UnityGLTF supports importing and exporting animations with the KHR_animation_pointer extension. The core glTF spec only allows animation node transforms and blend shape weights, while this extension allows animating arbitrary properties in the glTF file – including material and object properties, even in custom extensions and script components. Exporting with KHR_animation_pointer can be turned on in `Project Settings > UnityGLTF` by enabling the KHR_animation_pointer plugin. -> **Note:** The exported files can be viewed with Gestaltor, Babylon Sandbox, and Needle Engine, but currently not with three.js / model-viewer. See https://github.com/mrdoob/three.js/pull/24108. They can also not be reimported into UnityGLTF at this point. +> **Note:** The exported files can be viewed with Gestaltor, Babylon Sandbox, and Needle Engine, but currently not with three.js / model-viewer. See https://github.com/mrdoob/three.js/pull/24108. ## Blend Shape Export @@ -317,6 +314,52 @@ To create smaller files for complex blend shape animations (e.g. faces with doze ## Importing glTF files +### Runtime Import + +#### Load via Gltf Component + +To import `.gltf` or `.glb` files at runtime, you can use the `GLTFComponent` for loading. + +![image](https://github.com/user-attachments/assets/40f184ae-3135-4b60-a1bd-d6273105e507) + +#### Load via code example: + +From local file: +```csharp +string dir = "C:\SamplePath\"; +string filename = "AntiqueCamera.glb"; + +var importOpt = new ImportOptions(); +importOpt.DataLoader = new UnityWebRequestLoader(dir); +var import = new GLTFSceneImporter(filename, importOpt); +await import.LoadSceneAsync(); +``` + +From Web: +```csharp +string uriDir = "https://github.com/KhronosGroup/glTF-Sample-Models/raw/refs/heads/main/2.0/AntiqueCamera/glTF-Binary/"; +string filename = "AntiqueCamera.glb"; + +var importOpt = new ImportOptions(); +importOpt.DataLoader = new UnityWebRequestLoader(uriDir); +var import = new GLTFSceneImporter(filename, importOpt); +await import.LoadSceneAsync(); +``` + +Accessing the loaded gltf scene: +```csharp +import.LastLoadedScene +``` +On the loaded gltf scene you will find the `InstantiatedGLTFObject` component. Use the method `Duplicate` from it, to create a copy of the loaded scene. + +### Ensure shaders are available in your build +Please make sure you have added the `UnityGLTFShaderVariantCollection` (or `UnityGLTFShaderVariantCollection-BiRP` for BuildIn render pipeline) in the `Project Settings > Graphics > Preloaded Shaders`. +Otherwise, it's possible that shaders are missing in build. Please be aware, that on the first build the compile time can take some time. + +When you building for mobile platforms and you have the requirement for smaller shader sizes, and you know which shaders features you realy need, it might be better to create your own Shader Variant Collection. + +You can also strip additional shader variants under `Project Settings > UnityGtlf > Build` to reduce shader compile time. + ### Editor Import For importing `.gltf` or `.glb` files in the editor, place them in your project as usual (Assets or Packages). @@ -362,24 +405,50 @@ To create a plugin, follow these steps: If your plugin reads/writes custom extension data, you need to also implement `GLTF.Schema.IExtension` for serialization and deserialization. +> [!WARNING] +> `ShouldNodeExport` callback: Using this callback requires understanding of how glTF works. For example, if you filter out some bones of a skeleton on export, the result might not be valid glTF or might not display what you expect. Use with caution + +### Example for custom plugin +```csharp +public class MyExportPlugin : GLTFExportPlugin +{ + public override string DisplayName { get => "My Custom Plugin"; } + public override bool EnabledByDefault => true; + public override bool AlwaysEnabled => false; + + public override GLTFExportPluginContext CreateInstance(ExportContext context) + { + return new MyExportPluginContext(); + } +} + +public class MyExportPluginContext: GLTFExportPluginContext +{ + public override bool ShouldNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Transform transform) + { + return !transform.CompareTag("ignore"); + } +} +``` + + > 🏗️ Under construction. You can take a look at `MaterialVariantsPlugin.cs` for an example. ## Known Issues -- Blend shapes with in-betweens are currently not supported. +- Blend shape in-betweens will not be exported as glTF does not have that functionality. - Support for glTF files with multiple scenes is limited. -- Some material options (e.g. MAOS maps) are currently not exported correctly. ## Contributing -> **Note**: As of 20240129 the default branch of this repository has been renamed from `master` to `main`. - UnityGLTF is an open-source project. Well-tested PRs are welcome. -It is currently maintained by +UnityGLTF is currently maintained by - [prefrontal cortex](https://prefrontalcortex.de), member of the Khronos Group and - [Needle](https://needle.tools), member of the Metaverse Standards Forum. +> **Note**: As of 20240129, the default branch of this repository has been renamed from `master` to `main`. +
More Details (legacy) diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs new file mode 100644 index 000000000..4ccc0a473 --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs @@ -0,0 +1,69 @@ +using System; +using GLTF.Extensions; +using Newtonsoft.Json.Linq; +using Color = GLTF.Math.Color; + +namespace GLTF.Schema +{ + // https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md + [Serializable] + public class KHR_materials_sheen : IExtension + { + public Color sheenColorFactor = COLOR_DEFAULT; + public float sheenRoughnessFactor = 0f; + public TextureInfo sheenColorTexture; + public TextureInfo sheenRoughnessTexture; + + public static readonly Color COLOR_DEFAULT = Color.Black; + + public JProperty Serialize() + { + var jo = new JObject(); + JProperty jProperty = new JProperty(KHR_materials_sheen_Factory.EXTENSION_NAME, jo); + + if (sheenRoughnessFactor != 0) jo.Add(new JProperty(nameof(sheenRoughnessFactor), sheenRoughnessFactor)); + if (sheenColorFactor != COLOR_DEFAULT) jo.Add(new JProperty(nameof(sheenColorFactor), new JArray(sheenColorFactor.R, sheenColorFactor.G, sheenColorFactor.B))); + if (sheenColorTexture != null) + jo.WriteTexture(nameof(sheenColorTexture), sheenColorTexture); + + if (sheenRoughnessTexture != null) + jo.WriteTexture(nameof(sheenRoughnessTexture), sheenRoughnessTexture); + + return jProperty; + } + + public IExtension Clone(GLTFRoot root) + { + return new KHR_materials_sheen() + { + sheenRoughnessFactor = sheenRoughnessFactor, sheenColorTexture = sheenColorTexture, + sheenColorFactor = sheenColorFactor, sheenRoughnessTexture = sheenRoughnessTexture, + }; + } + } + + public class KHR_materials_sheen_Factory : ExtensionFactory + { + public const string EXTENSION_NAME = "KHR_materials_sheen"; + + public KHR_materials_sheen_Factory() + { + ExtensionName = EXTENSION_NAME; + } + + public override IExtension Deserialize(GLTFRoot root, JProperty extensionToken) + { + if (extensionToken != null) + { + var extension = new KHR_materials_sheen(); + extension.sheenRoughnessFactor = extensionToken.Value[nameof(KHR_materials_sheen.sheenRoughnessFactor)]?.Value() ?? 1; + extension.sheenColorFactor = extensionToken.Value[nameof(KHR_materials_sheen.sheenColorFactor)]?.DeserializeAsColor() ?? Color.White; + extension.sheenColorTexture = extensionToken.Value[nameof(KHR_materials_sheen.sheenColorTexture)]?.DeserializeAsTexture(root); + extension.sheenRoughnessTexture = extensionToken.Value[nameof(KHR_materials_sheen.sheenRoughnessTexture)]?.DeserializeAsTexture(root); + return extension; + } + + return null; + } + } +} diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs.meta b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs.meta new file mode 100644 index 000000000..4da3e84b6 --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_materials_sheen.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e5ccef236cd146e68b7652d8ce5c6cd0 +timeCreated: 1724930690 \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs new file mode 100644 index 000000000..d76bd787b --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json.Linq; +using UnityEngine.Serialization; + +namespace GLTF.Schema +{ + + [Serializable] + public class KHR_node_hoverability : IExtension + { + public bool hoverable = true; + + public JProperty Serialize() + { + var obj = new JObject(); + JProperty jProperty = new JProperty(KHR_node_hoverability_Factory.EXTENSION_NAME, obj); + obj.Add(new JProperty(nameof(hoverable), hoverable)); + + return jProperty; + } + + public IExtension Clone(GLTFRoot root) + { + return new KHR_node_hoverability() { hoverable = hoverable}; + } + } + + public class KHR_node_hoverability_Factory : ExtensionFactory + { + public const string EXTENSION_NAME = "KHR_node_hoverability"; + + public KHR_node_hoverability_Factory() + { + ExtensionName = EXTENSION_NAME; + } + + public override IExtension Deserialize(GLTFRoot root, JProperty extensionToken) + { + if (extensionToken != null) + { + var extension = new KHR_node_hoverability(); + + JToken hoverable = extensionToken.Value[nameof(KHR_node_hoverability.hoverable)]; + if (hoverable != null) + extension.hoverable = hoverable.Value(); + else + extension.hoverable = true; + return extension; + } + + return null; + } + } +} \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs.meta b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs.meta new file mode 100644 index 000000000..de792da2e --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_hoverability.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ce8968759cf34e3ea014d5d047970e96 +timeCreated: 1733300503 \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs new file mode 100644 index 000000000..6f55bd93a --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json.Linq; +using UnityEngine.Serialization; + +namespace GLTF.Schema +{ + + [Serializable] + public class KHR_node_selectability : IExtension + { + public bool selectable = true; + + public JProperty Serialize() + { + var obj = new JObject(); + JProperty jProperty = new JProperty(KHR_node_selectability_Factory.EXTENSION_NAME, obj); + obj.Add(new JProperty(nameof(selectable), selectable)); + + return jProperty; + } + + public IExtension Clone(GLTFRoot root) + { + return new KHR_node_selectability() { selectable = selectable}; + } + } + + public class KHR_node_selectability_Factory : ExtensionFactory + { + public const string EXTENSION_NAME = "KHR_node_selectability"; + + public KHR_node_selectability_Factory() + { + ExtensionName = EXTENSION_NAME; + } + + public override IExtension Deserialize(GLTFRoot root, JProperty extensionToken) + { + if (extensionToken != null) + { + var extension = new KHR_node_selectability(); + + JToken visible = extensionToken.Value[nameof(KHR_node_selectability.selectable)]; + if (visible != null) + extension.selectable = visible.Value(); + else + extension.selectable = true; + return extension; + } + + return null; + } + } +} \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs.meta b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs.meta new file mode 100644 index 000000000..fb6f1bdfa --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_selectability.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 416a36fe49924ae9bdf9980b1f37592d +timeCreated: 1731435389 \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs new file mode 100644 index 000000000..af825743a --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs @@ -0,0 +1,53 @@ +using System; +using Newtonsoft.Json.Linq; + +namespace GLTF.Schema +{ + + [Serializable] + public class KHR_node_visibility : IExtension + { + public bool visible = true; + + public JProperty Serialize() + { + var obj = new JObject(); + JProperty jProperty = new JProperty(KHR_node_visibility_Factory.EXTENSION_NAME, obj); + obj.Add(new JProperty(nameof(visible), visible)); + return jProperty; + } + + public IExtension Clone(GLTFRoot root) + { + return new KHR_node_visibility() { visible = visible}; + } + } + + public class KHR_node_visibility_Factory : ExtensionFactory + { + public const string EXTENSION_NAME = "KHR_node_visibility"; + + public KHR_node_visibility_Factory() + { + ExtensionName = EXTENSION_NAME; + } + + public override IExtension Deserialize(GLTFRoot root, JProperty extensionToken) + { + if (extensionToken != null) + { + var extension = new KHR_node_visibility(); + + JToken visible = extensionToken.Value[nameof(KHR_node_visibility.visible)]; + if (visible != null) + extension.visible = visible.Value(); + else + extension.visible = true; + return extension; + } + + return null; + } + } +} + diff --git a/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs.meta b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs.meta new file mode 100644 index 000000000..08074d5d2 --- /dev/null +++ b/Runtime/Plugins/GLTFSerialization/Extensions/KHR_node_visibility.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fc4f3932bbad4f518063e1fe7d976092 +timeCreated: 1731401543 \ No newline at end of file diff --git a/Runtime/Plugins/GLTFSerialization/Schema/Accessor.cs b/Runtime/Plugins/GLTFSerialization/Schema/Accessor.cs index d39ee6bc4..33db830cb 100644 --- a/Runtime/Plugins/GLTFSerialization/Schema/Accessor.cs +++ b/Runtime/Plugins/GLTFSerialization/Schema/Accessor.cs @@ -738,7 +738,7 @@ public unsafe float2[] AsTexcoordArray(ref NumericArray contents, NativeArray(bufferViewData); - uint stride = BufferView.Value.ByteStride > 0 ? BufferView.Value.ByteStride : componentSize * 2; + uint typeBasedStride = Type == GLTFAccessorAttributeType.VEC2 ? (uint) 2 : Type == GLTFAccessorAttributeType.VEC3 ? (uint) 3 : (uint) 4; + uint stride = BufferView.Value.ByteStride > 0 ? BufferView.Value.ByteStride : componentSize * typeBasedStride; if (!normalizeIntValues) maxValue = 1; if (ComponentType == GLTFComponentType.Float) diff --git a/Runtime/Plugins/GLTFSerialization/Schema/AnimationPointerData.cs b/Runtime/Plugins/GLTFSerialization/Schema/AnimationPointerData.cs index d0b6af020..4455e3ee5 100644 --- a/Runtime/Plugins/GLTFSerialization/Schema/AnimationPointerData.cs +++ b/Runtime/Plugins/GLTFSerialization/Schema/AnimationPointerData.cs @@ -12,9 +12,12 @@ public class AnimationPointerData public ImportValuesConversion importAccessorContentConversion; public string primaryPath = ""; + public string primaryProperty = ""; + public AttributeAccessor primaryData; public string secondaryPath = ""; + public string secondaryProperty = ""; public AttributeAccessor secondaryData; } diff --git a/Runtime/Plugins/GLTFSerialization/Schema/Asset.cs b/Runtime/Plugins/GLTFSerialization/Schema/Asset.cs index f855dc16d..62815d57d 100644 --- a/Runtime/Plugins/GLTFSerialization/Schema/Asset.cs +++ b/Runtime/Plugins/GLTFSerialization/Schema/Asset.cs @@ -1,4 +1,5 @@ using System; +using System.Text; using Newtonsoft.Json; namespace GLTF.Schema @@ -101,5 +102,39 @@ public override void Serialize(JsonWriter writer) writer.WriteEndObject(); } + + public override string ToString() + { + return ToString(false); + } + + public string ToString(bool richFormat) + { + string bStart = richFormat ? "" : ""; + string bEnd = richFormat ? "" : ""; + + var sb = new StringBuilder(); + if (!string.IsNullOrEmpty(Generator)) + sb.AppendLine($"{bStart}{nameof(Generator)}: {bEnd}{Generator}"); + + if (!string.IsNullOrEmpty(Version)) + sb.AppendLine($"{bStart}{nameof(Version)}: {bEnd}{Version}"); + + if (!string.IsNullOrEmpty(MinVersion)) + sb.AppendLine($"{bStart}{nameof(MinVersion)}: {bEnd}{MinVersion}"); + + if (!string.IsNullOrEmpty(Copyright)) + sb.AppendLine($"{bStart}{nameof(Copyright)}: {bEnd}{Copyright}"); + + if (Extras != null) + { + sb.AppendLine(""); + sb.AppendLine($"{bStart}Extras: {bEnd}"); + foreach (var extra in Extras) + sb.AppendLine(extra.ToString()); + } + + return sb.ToString(); + } } } diff --git a/Runtime/Plugins/GLTFSerialization/Schema/GLTFProperty.cs b/Runtime/Plugins/GLTFSerialization/Schema/GLTFProperty.cs index 8421f28bb..4a1651228 100644 --- a/Runtime/Plugins/GLTFSerialization/Schema/GLTFProperty.cs +++ b/Runtime/Plugins/GLTFSerialization/Schema/GLTFProperty.cs @@ -40,6 +40,10 @@ public static IReadOnlyList RegisteredExtensions { EXT_mesh_gpu_instancing_Factory.EXTENSION_NAME, new EXT_mesh_gpu_instancing_Factory() }, { KHR_animation_pointerExtensionFactory.EXTENSION_NAME, new KHR_animation_pointerExtensionFactory() }, { KHR_materials_dispersion_Factory.EXTENSION_NAME, new KHR_materials_dispersion_Factory() }, + { KHR_materials_sheen_Factory.EXTENSION_NAME, new KHR_materials_sheen_Factory()}, + { KHR_node_visibility_Factory.EXTENSION_NAME, new KHR_node_visibility_Factory()}, + { KHR_node_selectability_Factory.EXTENSION_NAME, new KHR_node_selectability_Factory()}, + { KHR_node_hoverability_Factory.EXTENSION_NAME, new KHR_node_hoverability_Factory()}, }; private static DefaultExtensionFactory _defaultExtensionFactory = new DefaultExtensionFactory(); diff --git a/Runtime/Plugins/GLTFSerialization/Schema/GLTFRoot.cs b/Runtime/Plugins/GLTFSerialization/Schema/GLTFRoot.cs index 5b3887c12..a09914e4e 100644 --- a/Runtime/Plugins/GLTFSerialization/Schema/GLTFRoot.cs +++ b/Runtime/Plugins/GLTFSerialization/Schema/GLTFRoot.cs @@ -4,6 +4,7 @@ using System.Linq; using GLTF.Extensions; using GLTF.Schema.KHR_lights_punctual; +using JetBrains.Annotations; using Newtonsoft.Json; namespace GLTF.Schema @@ -16,21 +17,25 @@ public class GLTFRoot : GLTFProperty /// /// Names of glTF extensions used somewhere in this asset. /// + [CanBeNull] public List ExtensionsUsed; /// /// Names of glTF extensions required to properly load this asset. /// + [CanBeNull] public List ExtensionsRequired; /// /// An array of accessors. An accessor is a typed view into a bufferView. /// + [CanBeNull] public List Accessors; /// /// An array of keyframe animations. /// + [CanBeNull] public List Animations; /// @@ -41,42 +46,50 @@ public class GLTFRoot : GLTFProperty /// /// An array of buffers. A buffer points to binary geometry, animation, or skins. /// + [CanBeNull] public List Buffers; /// /// An array of bufferViews. /// A bufferView is a view into a buffer generally representing a subset of the buffer. /// + [CanBeNull] public List BufferViews; /// /// An array of cameras. A camera defines a projection matrix. /// + [CanBeNull] public List Cameras; /// /// An array of images. An image defines data used to create a texture. /// + [CanBeNull] public List Images; /// /// An array of materials. A material defines the appearance of a primitive. /// + [CanBeNull] public List Materials; /// /// An array of meshes. A mesh is a set of primitives to be rendered. /// + [CanBeNull] public List Meshes; /// /// An array of nodes. /// + [CanBeNull] public List Nodes; /// /// An array of samplers. A sampler contains properties for texture filtering and wrapping modes. /// + [CanBeNull] public List Samplers; /// @@ -87,18 +100,22 @@ public class GLTFRoot : GLTFProperty /// /// An array of scenes. /// + [CanBeNull] public List Scenes; /// /// An array of skins. A skin is defined by joints and matrices. /// + [CanBeNull] public List Skins; /// /// An array of textures. /// + [CanBeNull] public List Textures; + [CanBeNull] public List Lights; public GLTFRoot() @@ -291,7 +308,7 @@ public static GLTFRoot Deserialize(TextReader textReader) while (jsonReader.Read() && jsonReader.TokenType == JsonToken.PropertyName) { - var curProp = jsonReader.Value.ToString(); + var curProp = jsonReader.Value?.ToString(); switch (curProp) { diff --git a/Runtime/Scripts/Cache/RefCountedCacheData.cs b/Runtime/Scripts/Cache/RefCountedCacheData.cs index 674e29df7..59a9e4d87 100644 --- a/Runtime/Scripts/Cache/RefCountedCacheData.cs +++ b/Runtime/Scripts/Cache/RefCountedCacheData.cs @@ -36,18 +36,24 @@ public class RefCountedCacheData /// Textures used by this GLTF node. /// public TextureCacheData[] TextureCache { get; private set; } - + + /// + /// Animations used by this GLTF node. + /// + public AnimationCacheData[] AnimationCache { get; private set; } + /// /// Textures from the AssetCache that might need to be cleaned up /// public Texture2D[] ImageCache { get; private set; } - public RefCountedCacheData(MaterialCacheData[] materialCache, MeshCacheData[] meshCache, TextureCacheData[] textureCache, Texture2D[] imageCache) + public RefCountedCacheData(MaterialCacheData[] materialCache, MeshCacheData[] meshCache, TextureCacheData[] textureCache, Texture2D[] imageCache, AnimationCacheData[] animationCache) { MaterialCache = materialCache; MeshCache = meshCache; TextureCache = textureCache; ImageCache = imageCache; + AnimationCache = animationCache; } public void IncreaseRefCount() @@ -118,6 +124,16 @@ private void DestroyCachedData() ImageCache[i] = null; } } + + // Destroy the cached animations + for (int i = 0; i < AnimationCache.Length; i++) + { + if (AnimationCache[i] != null) + { + UnityEngine.Object.Destroy(AnimationCache[i].LoadedAnimationClip); + AnimationCache[i] = null; + } + } _isDisposed = true; } diff --git a/Runtime/Scripts/GLTFComponent.cs b/Runtime/Scripts/GLTFComponent.cs index ffaa64d18..361657d50 100644 --- a/Runtime/Scripts/GLTFComponent.cs +++ b/Runtime/Scripts/GLTFComponent.cs @@ -6,8 +6,12 @@ using System.Threading.Tasks; using UnityEngine; using UnityEngine.Events; +using UnityEngine.Serialization; using UnityGLTF.Loader; using UnityGLTF.Plugins; +#if WINDOWS_UWP +using System; +#endif namespace UnityGLTF { @@ -18,8 +22,7 @@ public class GLTFComponent : MonoBehaviour { public string GLTFUri = null; public bool Multithreaded = true; - public bool UseStream = false; - public bool AppendStreamingAssets = true; + [FormerlySerializedAs("AppendStreamingAssets")] public bool LoadFromStreamingAssets = true; public bool PlayAnimationOnLoad = true; [Tooltip("Hide the scene object during load, then activate it when complete")] public bool HideSceneObjDuringLoad = false; @@ -45,14 +48,30 @@ public class GLTFComponent : MonoBehaviour [SerializeField] private Shader shaderOverride = null; + + public Shader ShaderOverride + { + get => shaderOverride; + set + { + shaderOverride = value; + ApplyOverrideShader(); + } + } [Header("Import Settings")] + public RuntimeTextureCompression TextureCompression = RuntimeTextureCompression.None; public GLTFImporterNormals ImportNormals = GLTFImporterNormals.Import; public GLTFImporterNormals ImportTangents = GLTFImporterNormals.Import; public bool SwapUVs = false; [Tooltip("Blend shape frame weight import multiplier. Default is 1. For compatibility with some FBX animations you may need to use 100.")] public BlendShapeFrameWeightSetting blendShapeFrameWeight = new BlendShapeFrameWeightSetting(BlendShapeFrameWeightSetting.MultiplierOption.Multiplier1); - + [Tooltip("When enabled, the CPU copy of the mesh will be kept in memory after the mesh has been uploaded to the GPU. This is useful if you want to modify the mesh at runtime.")] + public bool KeepCPUCopyOfMesh = true; + [Tooltip("When enabled, the CPU copy of the texture will be kept in memory after the texture has been uploaded to the GPU. This is useful if you want to modify the texture at runtime.")] + public bool KeepCPUCopyOfTexture = true; + + private async void Start() { if (!loadOnStart) return; @@ -83,7 +102,8 @@ public async Task Load() AsyncCoroutineHelper = gameObject.GetComponent() ?? gameObject.AddComponent(), ImportNormals = ImportNormals, ImportTangents = ImportTangents, - SwapUVs = SwapUVs + SwapUVs = SwapUVs, + RuntimeTextureCompression = TextureCompression, }; var settings = GLTFSettings.GetOrCreateSettings(); @@ -94,9 +114,8 @@ public async Task Load() { if (!Factory) Factory = ScriptableObject.CreateInstance(); - // UseStream is currently not supported... string fullPath; - if (AppendStreamingAssets) + if (LoadFromStreamingAssets) fullPath = Path.Combine(Application.streamingAssetsPath, GLTFUri.TrimStart(new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar })); else fullPath = GLTFUri; @@ -114,7 +133,9 @@ public async Task Load() sceneImporter.Timeout = Timeout; sceneImporter.IsMultithreaded = Multithreaded; sceneImporter.CustomShaderName = shaderOverride ? shaderOverride.name : null; - + sceneImporter.KeepCPUCopyOfTexture = KeepCPUCopyOfTexture; + sceneImporter.KeepCPUCopyOfMesh = KeepCPUCopyOfMesh; + // for logging progress await sceneImporter.LoadSceneAsync( showSceneObj:!HideSceneObjDuringLoad, @@ -127,14 +148,7 @@ await sceneImporter.LoadSceneAsync( ); // Override the shaders on all materials if a shader is provided - if (shaderOverride != null) - { - Renderer[] renderers = gameObject.GetComponentsInChildren(); - foreach (Renderer renderer in renderers) - { - renderer.sharedMaterial.shader = shaderOverride; - } - } + ApplyOverrideShader(); LastLoadedScene = sceneImporter.LastLoadedScene; @@ -160,6 +174,18 @@ await sceneImporter.LoadSceneAsync( } } } + + public void ApplyOverrideShader() + { + if (shaderOverride != null) + { + Renderer[] renderers = gameObject.GetComponentsInChildren(); + foreach (Renderer renderer in renderers) + { + renderer.sharedMaterial.shader = shaderOverride; + } + } + } private void LoadCompleteAction(GameObject obj, ExceptionDispatchInfo exceptionDispatchInfo) { diff --git a/Runtime/Scripts/GLTFSceneExporter.cs b/Runtime/Scripts/GLTFSceneExporter.cs index d160d9a76..d2673d2d8 100644 --- a/Runtime/Scripts/GLTFSceneExporter.cs +++ b/Runtime/Scripts/GLTFSceneExporter.cs @@ -189,6 +189,8 @@ public override bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot g private static ILogger Debug = UnityEngine.Debug.unityLogger; private List _plugins = new List(); + public IReadOnlyList Plugins => _plugins; + public struct TextureMapType { public const string BaseColor = "baseColorTexture"; @@ -426,6 +428,8 @@ public struct ExportFileResult private const int GLTFHeaderSize = 12; private const int SectionHeaderSize = 8; + private bool _visbilityPluginEnabled = false; + public struct UniqueTexture : IEquatable { public Texture Texture; @@ -466,7 +470,11 @@ public override int GetHashCode() { // We dont want to use GetHashCode() for the texture here since it will change the hash after restarting the editor #if UNITY_EDITOR - var hashCode = Texture ? Texture.imageContentsHash.GetHashCode() : 0; + var hashCode = 0; + if (Texture && Texture.imageContentsHash.isValid) + hashCode = Texture.imageContentsHash.GetHashCode(); + else if (Texture) + hashCode = Texture.GetHashCode(); #else var hashCode = Texture ? Texture.GetHashCode() : 0; #endif @@ -638,7 +646,8 @@ public GLTFSceneExporter(Transform[] rootTransforms, ExportContext context) var normalChannelShader = Resources.Load("NormalChannel", typeof(Shader)) as Shader; _normalChannelMaterial = new Material(normalChannelShader); - _rootTransforms = rootTransforms; + // Remove invalid transforms + _rootTransforms = rootTransforms?.Where(x => x).ToArray() ?? Array.Empty(); _exportedTransforms = new Dictionary(); _exportedCameras = new Dictionary(); @@ -654,7 +663,7 @@ public GLTFSceneExporter(Transform[] rootTransforms, ExportContext context) Asset = new Asset { Version = "2.0", - Generator = "UnityGLTF" + Generator = settings.Generator }, Buffers = new List(), BufferViews = new List(), @@ -683,6 +692,12 @@ public GLTFSceneExporter(Transform[] rootTransforms, ExportContext context) Root = _root }; _root.Buffers.Add(_buffer); + + _visbilityPluginEnabled = settings.ExportPlugins.Any(x => x is VisibilityExport && x.Enabled); + if (_visbilityPluginEnabled && !settings.ExportDisabledGameObjects) + { + Debug.Log(LogType.Warning,"KHR_node_visibility export plugin is enabled, but Export Disabled GameObjects is not. This may lead to unexpected results."); + } } /// @@ -967,6 +982,8 @@ public static string GetFileName(string directory, string fileNameThatMayHaveExt /// private static string EnsureValidFileName(string filename) { + if (filename == null) return ""; + var invalidChars = Regex.Escape(new string(Path.GetInvalidFileNameChars())); var invalidReStr = string.Format(@"[{0}]+", invalidChars); @@ -1021,6 +1038,7 @@ private bool shouldExportTransform(Transform transform) { return false; } + if (settings.UseMainCameraVisibility && (_exportLayerMask >= 0 && _exportLayerMask != (_exportLayerMask | 1 << transform.gameObject.layer))) return false; if (transform.CompareTag("EditorOnly")) return false; return !_exportContext.ignoredTransforms.Contains(transform); @@ -1028,6 +1046,8 @@ private bool shouldExportTransform(Transform transform) private SceneId ExportScene(string name, Transform[] rootObjTransforms) { + if (rootObjTransforms == null || rootObjTransforms.Length < 1) return null; + exportSceneMarker.Begin(); var scene = new GLTFScene(); @@ -1053,6 +1073,11 @@ private SceneId ExportScene(string name, Transform[] rootObjTransforms) scene.Nodes = new List(rootObjTransforms.Length); foreach (var transform in rootObjTransforms) { + if (!transform) + { + Debug.LogWarning("GLTFSceneExporter", $"Skipping empty transform in root transforms provided for scene export for {name}", transform); + continue; + } scene.Nodes.Add(ExportNode(transform)); } @@ -1080,10 +1105,19 @@ private NodeId ExportNode(Transform nodeTransform) if (_exportedTransforms.TryGetValue(nodeTransform.GetInstanceID(), out var existingNodeId)) return new NodeId() { Id = existingNodeId, Root = _root }; + foreach (var plugin in _plugins) + if (!(plugin?.ShouldNodeExport(this, _root, nodeTransform) ?? true)) return null; + exportNodeMarker.Begin(); var node = new Node(); + if (_visbilityPluginEnabled && !nodeTransform.gameObject.activeSelf) + { + DeclareExtensionUsage(KHR_node_visibility_Factory.EXTENSION_NAME, false); + node.AddExtension(KHR_node_visibility_Factory.EXTENSION_NAME, new KHR_node_visibility { visible = false }); + } + if (ExportNames) { node.Name = makeUniqueNodeName(nodeTransform); @@ -1236,7 +1270,8 @@ private NodeId ExportNode(Transform nodeTransform) foreach (var child in nonPrimitives) { if (!shouldExportTransform(child.transform)) continue; - parentOfChilds.Children.Add(ExportNode(child.transform)); + var childNode = ExportNode(child.transform); + if (childNode != null) parentOfChilds.Children.Add(childNode); } } diff --git a/Runtime/Scripts/GLTFSceneImporter.cs b/Runtime/Scripts/GLTFSceneImporter.cs index 5ba6df656..d159e52a3 100644 --- a/Runtime/Scripts/GLTFSceneImporter.cs +++ b/Runtime/Scripts/GLTFSceneImporter.cs @@ -15,9 +15,7 @@ using UnityGLTF.Loader; using UnityGLTF.Plugins; using Quaternion = UnityEngine.Quaternion; -using Vector2 = UnityEngine.Vector2; using Vector3 = UnityEngine.Vector3; -using Vector4 = UnityEngine.Vector4; #if !WINDOWS_UWP && !UNITY_WEBGL using ThreadPriority = System.Threading.ThreadPriority; #endif @@ -25,6 +23,21 @@ namespace UnityGLTF { + [Flags] + public enum DeduplicateOptions + { + None = 0, + Meshes = 1, + Textures = 2, + } + + public enum RuntimeTextureCompression + { + None, + LowQuality , + HighQuality, + } + public class ImportOptions { #pragma warning disable CS0618 // Type or member is obsolete @@ -40,13 +53,13 @@ public class ImportOptions public AnimationMethod AnimationMethod = AnimationMethod.Legacy; public bool AnimationLoopTime = true; public bool AnimationLoopPose = false; - + public DeduplicateOptions DeduplicateResources = DeduplicateOptions.None; public bool SwapUVs = false; public GLTFImporterNormals ImportNormals = GLTFImporterNormals.Import; public GLTFImporterNormals ImportTangents = GLTFImporterNormals.Import; public bool ImportBlendShapeNames = true; public CameraImportOption CameraImport = CameraImportOption.ImportAndCameraDisabled; - + public RuntimeTextureCompression RuntimeTextureCompression = RuntimeTextureCompression.None; public BlendShapeFrameWeightSetting BlendShapeFrameWeight = new BlendShapeFrameWeightSetting(BlendShapeFrameWeightSetting.MultiplierOption.Multiplier1); #if UNITY_EDITOR @@ -73,51 +86,7 @@ public enum AnimationMethod Mecanim, MecanimHumanoid, } - - public class UnityMeshData - { - public bool[] subMeshDataCreated; - public Vector3[] Vertices; - public Vector3[] Normals; - public Vector4[] Tangents; - public Vector2[] Uv1; - public Vector2[] Uv2; - public Vector2[] Uv3; - public Vector2[] Uv4; - public Color[] Colors; - public BoneWeight[] BoneWeights; - - public Vector3[][] MorphTargetVertices; - public Vector3[][] MorphTargetNormals; - public Vector3[][] MorphTargetTangents; - - public MeshTopology[] Topology; - public DrawMode[] DrawModes; - public int[][] Indices; - - public HashSet alreadyAddedAccessors = new HashSet(); - public uint[] subMeshVertexOffset; - - public void Clear() - { - Vertices = null; - Normals = null; - Tangents = null; - Uv1 = null; - Uv2 = null; - Uv3 = null; - Uv4 = null; - Colors = null; - BoneWeights = null; - MorphTargetVertices = null; - MorphTargetNormals = null; - MorphTargetTangents = null; - Topology = null; - Indices = null; - subMeshVertexOffset = null; - } - } - + public struct ImportProgress { public bool IsDownloaded; @@ -246,6 +215,8 @@ public GameObject LastLoadedScene get { return _lastLoadedScene; } } + private bool AnyAnimationTimeNotIncreasing; + public TextureCacheData[] TextureCache => _assetCache.TextureCache; public Texture2D[] InvalidImageCache => _assetCache.InvalidImageCache; public MaterialCacheData[] MaterialCache => _assetCache.MaterialCache; @@ -266,7 +237,7 @@ public GameObject LastLoadedScene /// Whether to keep a CPU-side copy of the texture after upload to GPU /// /// - /// This is is necessary when a texture is used with different sampler states, as Unity doesn't allow setting + /// This is necessary when a texture is used with different sampler states, as Unity doesn't allow setting /// of filter and wrap modes separately form the texture object. Setting this to false will omit making a copy /// of a texture in that case and use the original texture's sampler state wherever it's referenced; this is /// appropriate in cases such as the filter and wrap modes being specified in the shader instead @@ -335,7 +306,30 @@ public GLTFSceneImporter(GLTFRoot rootNode, Stream gltfStream, ImportOptions opt VerifyDataLoader(); } } + + /// + /// Loads a glTF file from a stream. It's recommended to load only gltf data without any external references. + /// + /// + /// + /// var stream = new FileStream(filePath, FileMode.Open); + /// var importOptions = new ImportOptions(); + /// var importer = new GLTFSceneImporter(stream, importOptions); + /// await importer.LoadSceneAsync(); + /// stream.Dispose(); + /// + /// + public GLTFSceneImporter(Stream gltfStream, ImportOptions options) : this(options) + { + if (gltfStream != null) + { + _gltfStream = new GLBStream { Stream = gltfStream, StartPosition = gltfStream.Position }; + } + GLTFParser.ParseJson(_gltfStream.Stream, out _gltfRoot, _gltfStream.StartPosition); + VerifyDataLoader(); + } + private GLTFSceneImporter(ImportOptions options) { if (options.ImportContext != null) @@ -401,6 +395,11 @@ private void VerifyDataLoader() { if (_options.ExternalDataLoader == null) { + if (string.IsNullOrEmpty(_gltfFileName)) + { + Debug.Log(LogType.Warning, "No filename specified for GLTFSceneImporter, external references will not be loaded"); + return; + } _options.DataLoader = new UnityWebRequestLoader(URIHelper.GetDirectoryName(_gltfFileName)); _gltfFileName = URIHelper.GetFileFromUri(new Uri(_gltfFileName)); } @@ -505,7 +504,9 @@ public void Dispose() DisposeNativeBuffers(); onLoadComplete?.Invoke(null, ExceptionDispatchInfo.Capture(ex)); - Debug.Log(LogType.Error, $"Error loading file: {_gltfFileName}"); + Debug.Log(LogType.Error, $"Error loading file: {_gltfFileName}" + + System.Environment.NewLine + "Message: " + ex.Message + + System.Environment.NewLine + "StackTrace: " + ex.StackTrace); throw; } finally @@ -517,9 +518,10 @@ public void Dispose() } _gltfStream.Stream.Close(); DisposeNativeBuffers(); - if (progressStatus.NodeLoaded != progressStatus.NodeTotal) Debug.Log(LogType.Error, $"Nodes loaded ({progressStatus.NodeLoaded}) does not match node total in the scene ({progressStatus.NodeTotal}) (File: {_gltfFileName})"); - if (progressStatus.TextureLoaded > progressStatus.TextureTotal) Debug.Log(LogType.Error, $"Textures loaded ({progressStatus.TextureLoaded}) is larger than texture total in the scene ({progressStatus.TextureTotal}) (File: {_gltfFileName})"); - + + if (this.progress != null) + await Task.Yield(); + onLoadComplete?.Invoke(LastLoadedScene, null); } @@ -663,7 +665,8 @@ private void InitializeGltfTopLevelObject() _assetCache.MaterialCache, _assetCache.MeshCache, _assetCache.TextureCache, - _assetCache.ImageCache + _assetCache.ImageCache, + _assetCache.AnimationCache ); } @@ -712,6 +715,24 @@ private void InitializeGltfTopLevelObject() // Free up some Memory, Accessor contents are no longer needed FreeUpAccessorContents(); + + if (_options.DeduplicateResources != DeduplicateOptions.None) + { + if (IsMultithreaded) + { + if (_options.DeduplicateResources.HasFlag(DeduplicateOptions.Meshes)) + await Task.Run(CheckForMeshDuplicates, cancellationToken); + if (_options.DeduplicateResources.HasFlag(DeduplicateOptions.Textures)) + await Task.Run(CheckForDuplicateImages, cancellationToken); + } + else + { + if (_options.DeduplicateResources.HasFlag(DeduplicateOptions.Meshes)) + CheckForMeshDuplicates(); + if (_options.DeduplicateResources.HasFlag(DeduplicateOptions.Textures)) + CheckForDuplicateImages(); + } + } await ConstructScene(scene, showSceneObj, cancellationToken); @@ -953,6 +974,16 @@ async Task GetAttrAccessorAndAccessorContent(AccessorId acces return null; } + private bool ShouldBeVisible(Node node, GameObject nodeObj) + { + if (node.Extensions != null && node.Extensions.TryGetValue(KHR_node_visibility_Factory.EXTENSION_NAME, out var ext)) + { + return (ext as KHR_node_visibility).visible; + } + else + return true; + } + protected virtual async Task ConstructNode(Node node, int nodeIndex, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); @@ -991,7 +1022,7 @@ async Task CreateNodeComponentsAndChilds(bool ignoreMesh = false, bool onlyMesh } } - if (!ignoreMesh && node.Mesh != null) + if (!ignoreMesh && node.Mesh != null && node.Mesh.Value?.Primitives != null) { var mesh = node.Mesh.Value; await ConstructMesh(mesh, node.Mesh.Id, cancellationToken); @@ -1058,7 +1089,7 @@ async Task CreateNodeComponentsAndChilds(bool ignoreMesh = false, bool onlyMesh if (onlyMesh) { - nodeObj.SetActive(true); + nodeObj.SetActive(ShouldBeVisible(node, nodeObj)); return; } @@ -1122,8 +1153,7 @@ async Task CreateNodeComponentsAndChilds(bool ignoreMesh = false, bool onlyMesh inbetween.transform.localRotation = Quaternion.Inverse(SchemaExtensions.InvertDirection); } } - - nodeObj.SetActive(true); + nodeObj.SetActive( ShouldBeVisible(node, nodeObj)); } var instancesTRS = await GetInstancesTRS(node); @@ -1134,6 +1164,7 @@ async Task CreateNodeComponentsAndChilds(bool ignoreMesh = false, bool onlyMesh } else { + var shouldBeVisible = ShouldBeVisible(node, nodeObj); await CreateNodeComponentsAndChilds(true); var instanceParentNode = new GameObject("Instances"); instanceParentNode.transform.SetParent(nodeObj.transform, false); @@ -1167,7 +1198,7 @@ async Task CreateNodeComponentsAndChilds(bool ignoreMesh = false, bool onlyMesh nodeObj.transform.localScale = instancesTRS[i].Item3; nodeObj.name = $"Instance {i.ToString()}"; } - instanceParentNode.gameObject.SetActive(true); + instanceParentNode.gameObject.SetActive(shouldBeVisible); } progressStatus.NodeLoaded++; @@ -1313,6 +1344,7 @@ protected virtual async Task ConstructScene(GLTFScene scene, bool showSceneObj, for (int i = 0; i < constructedClips.Count; i++) { var clip = constructedClips[i]; + clip.wrapMode = _options.AnimationLoopTime ? WrapMode.Loop : WrapMode.Default; animation.AddClip(clip, clip.name); if (i == 0) { @@ -1349,6 +1381,11 @@ protected virtual async Task ConstructScene(GLTFScene scene, bool showSceneObj, #else Debug.Log(LogType.Warning, "glTF scene contains animations but com.unity.modules.animation isn't installed. Install that module to import animations."); #endif + if (AnyAnimationTimeNotIncreasing) + { + Debug.Log(LogType.Warning, $"Time of some subsequent animation keyframes is not increasing in {_gltfFileName} (glTF-Validator error ACCESSOR_ANIMATION_INPUT_NON_INCREASING)"); + } + CreatedAnimationClips = constructedClips.ToArray(); } } diff --git a/Runtime/Scripts/GLTFSettings.cs b/Runtime/Scripts/GLTFSettings.cs index e1f951bfc..de62ff7ad 100644 --- a/Runtime/Scripts/GLTFSettings.cs +++ b/Runtime/Scripts/GLTFSettings.cs @@ -19,6 +19,44 @@ public class GLTFSettings : ScriptableObject private const string k_SettingsFileName = "UnityGLTFSettings.asset"; public const string k_RuntimeAndEditorSettingsPath = "Assets/Resources/" + k_SettingsFileName; + + [SerializeField, HideInInspector] + // Will be set on building in PackageVersionPreprocessBuild.cs + internal string packageVersion = null; + + public string Generator { get => GetGenerator();} + +#if UNITY_EDITOR + internal string GetUnityGltfVersion() + { + var packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssembly(Assembly.GetAssembly(typeof(GLTFSettings))); + if (packageInfo != null) + return packageInfo.version; + return ""; + } +#endif + + internal string GetGenerator() + { + string gltfVersion; +#if UNITY_EDITOR + gltfVersion = GetUnityGltfVersion(); +#else + gltfVersion = packageVersion; +#endif + var renderPipeline = "Built-in RP"; + var renderPipelineAsset = UnityEngine.Rendering.GraphicsSettings.currentRenderPipeline; + if (renderPipelineAsset) + { + renderPipeline = renderPipelineAsset.GetType().Name; + if (renderPipeline == "UniversalRenderPipelineAsset") + renderPipeline = "URP"; + else if (renderPipeline == "HighDefinitionRenderPipelineAsset") + renderPipeline = "HDRP"; + } + return $"UnityGltf {gltfVersion}, Unity {Application.unityVersion}, {renderPipeline}"; + } + [Flags] public enum BlendShapeExportPropertyFlags { @@ -28,6 +66,27 @@ public enum BlendShapeExportPropertyFlags Tangent = 4, All = ~0 } + +#if UNITY_EDITOR + [Serializable] + public class ShaderStrippingSettings + { + [Flags] + public enum ShaderPassStrippingMode + { + None = 0, + BuiltInPasses = 1, + URPForwardPasses = 2, + URPDeferredPasses = 4, + } + + public bool stripPassesFromAllShaders = false; + public ShaderPassStrippingMode stripPasses = ShaderPassStrippingMode.None; + } + + [Tooltip("Strip unnecessary shader passes from built-in and URP shader passes. This can drastically reduce shader compile time and size.")] + public ShaderStrippingSettings shaderStrippingSettings = new ShaderStrippingSettings(); +#endif // Plugins [SerializeField, HideInInspector] diff --git a/Runtime/Scripts/Loader/FileLoader.cs b/Runtime/Scripts/Loader/FileLoader.cs index b3397a48b..c5479e51c 100644 --- a/Runtime/Scripts/Loader/FileLoader.cs +++ b/Runtime/Scripts/Loader/FileLoader.cs @@ -60,6 +60,11 @@ public static string CombinePaths(string basePath, string relativePath) } public Task LoadStreamAsync(string relativeFilePath) { + if (relativeFilePath.StartsWith("http://") || relativeFilePath.StartsWith("https://")) + { + return new UnityWebRequestLoader("").LoadStreamAsync(relativeFilePath); + } + #if UNITY_EDITOR string path = CombinePaths(_rootDirectoryPath, relativeFilePath); @@ -99,7 +104,7 @@ public Stream LoadStream(string relativeFilePath) string pathToLoad = Path.Combine(_rootDirectoryPath, relativeFilePath); if (!File.Exists(pathToLoad)) { - pathToLoad = Path.Combine(_rootDirectoryPath, Uri.UnescapeDataString(relativeFilePath)); + pathToLoad = Uri.UnescapeDataString(Path.Combine(_rootDirectoryPath, relativeFilePath)); } if (!File.Exists(pathToLoad)) diff --git a/Runtime/Scripts/Plugins/AnimationPointer/AnimationPointerUtilities.cs b/Runtime/Scripts/Plugins/AnimationPointer/AnimationPointerUtilities.cs index 049f90f28..b2d8804cd 100644 --- a/Runtime/Scripts/Plugins/AnimationPointer/AnimationPointerUtilities.cs +++ b/Runtime/Scripts/Plugins/AnimationPointer/AnimationPointerUtilities.cs @@ -1,4 +1,5 @@ -using GLTF.Schema; +using GLTF; +using GLTF.Schema; using UnityEngine; namespace UnityGLTF.Plugins @@ -8,18 +9,21 @@ internal static class AnimationPointerHelpers private static readonly string[] MATERIAL_PROPERTY_COMPONENTS = {"x", "y", "z", "w"}; private static readonly string[] MATERIAL_COLOR_PROPERTY_COMPONENTS = {"r", "g", "b", "a"}; - internal static bool BuildImportMaterialAnimationPointerData(MaterialPropertiesRemapper remapper, Material material, - string gltfProperty, GLTFAccessorAttributeType valueType, out AnimationPointerData pointerData) + internal static bool BuildImportMaterialAnimationPointerData(string pointerPath, MaterialPropertiesRemapper remapper, Material material, + string gltfProperty, AttributeAccessor accessor, out AnimationPointerData pointerData) { + var valueType = accessor.AccessorId.Value.Type; pointerData = new AnimationPointerData(); + pointerData.primaryPath = pointerPath; + pointerData.primaryData = accessor; + if (!remapper.GetUnityPropertyName(material, gltfProperty, out string unityPropertyName, out MaterialPointerPropertyMap propertyMap, out bool isSecondaryGltfProperty)) return false; - - // e.g. Emission Factor and Emission Color are combined into a single property - if (isSecondaryGltfProperty && propertyMap.CombinePrimaryAndSecondaryOnImport) - return false; + pointerData.primaryProperty = propertyMap.GltfPropertyName; + pointerData.secondaryProperty = propertyMap.GltfSecondaryPropertyName; + if (propertyMap.CombinePrimaryAndSecondaryOnImport) { if (propertyMap.CombinePrimaryAndSecondaryDataFunction == null) @@ -36,23 +40,31 @@ internal static bool BuildImportMaterialAnimationPointerData(MaterialPropertiesR valueType = propertyMap.OverrideCombineResultType; } + if (isSecondaryGltfProperty) + { + pointerData.primaryPath = ""; + pointerData.primaryData = null; + pointerData.secondaryPath = pointerPath; + pointerData.secondaryData = accessor; + } + switch (valueType) { case GLTFAccessorAttributeType.SCALAR: pointerData.unityPropertyNames = GetAnimationChannelProperties(unityPropertyName, 1, isSecondaryGltfProperty ? 1 : 0 ); - pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(data.primaryData.AccessorContent, frame, primaryComponentCount, propertyMap, pointerDataCopy); + pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(frame, primaryComponentCount, propertyMap, pointerDataCopy); break; case GLTFAccessorAttributeType.VEC2: pointerData.unityPropertyNames = GetAnimationChannelProperties(unityPropertyName, 2, isSecondaryGltfProperty ? 2 : 0); - pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(data.primaryData.AccessorContent, frame, primaryComponentCount, propertyMap, pointerDataCopy); + pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(frame, primaryComponentCount, propertyMap, pointerDataCopy); break; case GLTFAccessorAttributeType.VEC3: pointerData.unityPropertyNames = GetAnimationChannelProperties(unityPropertyName, 3, isColor: propertyMap.IsColor); - pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(data.primaryData.AccessorContent, frame, primaryComponentCount, propertyMap, pointerDataCopy); + pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(frame, primaryComponentCount, propertyMap, pointerDataCopy); break; case GLTFAccessorAttributeType.VEC4: pointerData.unityPropertyNames = GetAnimationChannelProperties(unityPropertyName, 4, isColor: propertyMap.IsColor); - pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(data.primaryData.AccessorContent, frame, primaryComponentCount, propertyMap, pointerDataCopy); + pointerData.importAccessorContentConversion = (data, frame) => MaterialValueConversion(frame, primaryComponentCount, propertyMap, pointerDataCopy); break; default: return false; @@ -81,63 +93,72 @@ internal static string[] GetAnimationChannelProperties(string propertyName, int return result; } - internal static float[] MaterialValueConversion(NumericArray data, int index, int componentCount, MaterialPointerPropertyMap map, AnimationPointerData pointerData) + internal static float[] MaterialValueConversion(int index, int componentCount, MaterialPointerPropertyMap map, AnimationPointerData pointerData) { int resultComponentCount = componentCount; if (map.CombineComponentResult == MaterialPointerPropertyMap.CombineResultType.Override) { resultComponentCount = map.OverrideCombineResultType.ComponentCount(); } + float[] primary = new float[0]; float[] result = new float[resultComponentCount]; - - - switch (componentCount) + if (pointerData.primaryData != null) { - case 1: - result[0] = data.AsFloats[index]; - break; - case 2: - var frameData2 = data.AsFloat2s[index]; - result[0] = frameData2.x; - result[1] = frameData2.y; - break; - case 3: - var frameData3 = data.AsFloat3s[index]; - if (map.PropertyType == MaterialPointerPropertyMap.PropertyTypeOption.SRGBColor) - { - Color gammaColor = new Color(frameData3.x, frameData3.y, frameData3.z).gamma; - result[0] = gammaColor.r; - result[1] = gammaColor.g; - result[2] = gammaColor.b; - } - else - { - result[0] = frameData3.x; - result[1] = frameData3.y; - result[2] = frameData3.z; - } - break; - case 4: - var frameData4 = data.AsFloat4s[index]; - if (map.PropertyType == MaterialPointerPropertyMap.PropertyTypeOption.SRGBColor) - { - Color gammaColor = new Color(frameData4.x, frameData4.y, frameData4.z, frameData4.z).gamma; - result[0] = gammaColor.r; - result[1] = gammaColor.g; - result[2] = gammaColor.b; - result[3] = gammaColor.a; - } - else - { - result[0] = frameData4.x; - result[1] = frameData4.y; - result[2] = frameData4.z; - result[3] = frameData4.w; - } + var primaryData = pointerData.primaryData.AccessorContent; + switch (componentCount) + { + case 1: + primary = new float[1]; + primary[0] = primaryData.AsFloats[index]; + break; + case 2: + primary = new float[2]; + var frameData2 = primaryData.AsFloat2s[index]; + primary[0] = frameData2.x; + primary[1] = frameData2.y; + break; + case 3: + primary = new float[3]; + var frameData3 = primaryData.AsFloat3s[index]; + if (map.PropertyType == MaterialPointerPropertyMap.PropertyTypeOption.SRGBColor) + { + Color gammaColor = new Color(frameData3.x, frameData3.y, frameData3.z).gamma; + primary[0] = gammaColor.r; + primary[1] = gammaColor.g; + primary[2] = gammaColor.b; + } + else + { + primary[0] = frameData3.x; + primary[1] = frameData3.y; + primary[2] = frameData3.z; + } - break; + break; + case 4: + primary = new float[4]; + var frameData4 = primaryData.AsFloat4s[index]; + if (map.PropertyType == MaterialPointerPropertyMap.PropertyTypeOption.SRGBColor) + { + Color gammaColor = new Color(frameData4.x, frameData4.y, frameData4.z, frameData4.z).gamma; + primary[0] = gammaColor.r; + primary[1] = gammaColor.g; + primary[2] = gammaColor.b; + primary[3] = gammaColor.a; + } + else + { + primary[0] = frameData4.x; + primary[1] = frameData4.y; + primary[2] = frameData4.z; + primary[3] = frameData4.w; + } + + break; + } } + if (map.CombinePrimaryAndSecondaryOnImport && map.CombinePrimaryAndSecondaryDataFunction != null) { float[] secondary = new float[0]; @@ -163,12 +184,14 @@ internal static float[] MaterialValueConversion(NumericArray data, int index, in secondary = new float[] { s4.x, s4.y, s4.z, s4.w }; break; default: - return result; + return primary; } } - result = map.CombinePrimaryAndSecondaryDataFunction(result, secondary); + result = map.CombinePrimaryAndSecondaryDataFunction(primary, secondary, result.Length); } + else + result = primary; return result; } diff --git a/Runtime/Scripts/Plugins/AnimationPointer/MaterialPropertiesRemapper.cs b/Runtime/Scripts/Plugins/AnimationPointer/MaterialPropertiesRemapper.cs index 6008ea2f5..f98338eda 100644 --- a/Runtime/Scripts/Plugins/AnimationPointer/MaterialPropertiesRemapper.cs +++ b/Runtime/Scripts/Plugins/AnimationPointer/MaterialPropertiesRemapper.cs @@ -64,7 +64,7 @@ public string[] PropertyNames public string ExtensionName = null; // The arrays contains the components of the primary and secondary properties. e.g. for a Vector3, the arrays will contain 3 elements - public delegate float[] CombinePrimaryAndSecondaryData(float[] primary, float[] secondary); + public delegate float[] CombinePrimaryAndSecondaryData(float[] primary, float[] secondary, int expectedResultLength); /// /// Function to combine primary and secondary data on import. @@ -119,13 +119,32 @@ private void CreatePropertyIds() } } - private static float[] CombineTextureTransform(float[] primary, float[] secondary) + private static float[] CombineTextureTransform(float[] primary, float[] secondary, int expectedResultLength) { - var result = new float[4]; - result[0] = primary[0]; - result[1] = primary[1]; - result[2] = secondary[0]; - result[3] = 1f - secondary[1] - primary[1]; + var result = new float[expectedResultLength]; + + if (primary.Length >= 2) + { + result[0] = primary[0]; + result[1] = primary[1]; + } + + if (primary.Length == 0) + { + result[0] = 1; + result[1] = 1; + } + + if (secondary.Length == 2) + { + result[2] = secondary[0]; + result[3] = 1f - secondary[1] - result[1]; + } + else + { + result[2] = 0; + result[3] = 0; + } return result; } @@ -151,6 +170,46 @@ public enum ImportExportUsageOption private Dictionary importMaps = new Dictionary(); private Dictionary exportMaps = new Dictionary (); + public void AddTextureExtTransforms(string gltfTextureName, string[] unityTextureNames, string extension = null) + { + var stNames = new string[unityTextureNames.Length]; + for (int i = 0; i < stNames.Length; i++) + stNames[i] = $"{unityTextureNames[i]}_ST"; + + var stMap = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) + { + PropertyNames = stNames, + GltfPropertyName = $"{gltfTextureName}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", + GltfSecondaryPropertyName = $"{gltfTextureName}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", + ExtensionName = extension + }; + AddMap(stMap); + + var rotNames = new string[unityTextureNames.Length]; + for (int i = 0; i < stNames.Length; i++) + rotNames[i] = $"{unityTextureNames[i]}Rotation"; + + var rotMap = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) + { + PropertyNames = rotNames, + GltfPropertyName = $"{gltfTextureName}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.ROTATION}", + ExtensionName = extension + }; + AddMap(rotMap); + + var texCoordNames = new string[unityTextureNames.Length]; + for (int i = 0; i < stNames.Length; i++) + texCoordNames[i] = $"{unityTextureNames[i]}TexCoord"; + + var texCoordMap = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) + { + PropertyNames = texCoordNames, + GltfPropertyName = $"{gltfTextureName}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.TEXCOORD}", + ExtensionName = extension + }; + AddMap(texCoordMap); + } + public void AddMap(MaterialPointerPropertyMap map, ImportExportUsageOption importExport = ImportExportUsageOption.ImportAndExport) { if (importExport == ImportExportUsageOption.ImportOnly || @@ -179,6 +238,11 @@ public void AddMap(MaterialPointerPropertyMap map, ImportExportUsageOption impor } } + public bool GetMapByUnityProperty(string unityPropertyName, out MaterialPointerPropertyMap map) + { + return exportMaps.TryGetValue(unityPropertyName, out map); + } + public bool GetMapFromUnityMaterial(Material mat, string unityPropertyName, out MaterialPointerPropertyMap map) { map = null; @@ -279,15 +343,6 @@ public DefaultMaterialPropertiesRemapper() }; AddMap(roughness); - var roughnessTex = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "metallicRoughnessTexture_ST", "_metallicRoughnessTexture_ST", "_MetallicRoughnessTexture_ST" }, - GltfPropertyName = $"pbrMetallicRoughness/metallicRoughnessTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = $"pbrMetallicRoughness/metallicRoughnessTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(roughnessTex); - var dispersion = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) { PropertyNames = new[] { "dispersion"}, @@ -302,17 +357,6 @@ public DefaultMaterialPropertiesRemapper() }; AddMap(metallic); - var baseColorTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_MainTex_ST", "_BaseMap_ST", "_BaseColorTexture_ST", "baseColorTexture_ST" }, - GltfPropertyName = - $"pbrMetallicRoughness/baseColorTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"pbrMetallicRoughness/baseColorTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME, - }; - AddMap(baseColorTexture); - var emissiveFactor = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.SRGBColor) { PropertyNames = new[] { "_EmissionColor", "_EmissiveFactor", "emissiveFactor" }, @@ -322,10 +366,10 @@ public DefaultMaterialPropertiesRemapper() ExtensionName = KHR_materials_emissive_strength_Factory.EXTENSION_NAME, CombinePrimaryAndSecondaryOnImport = true, ExportKeepColorAlpha = false, - CombinePrimaryAndSecondaryDataFunction = (primary, secondary) => + CombinePrimaryAndSecondaryDataFunction = (primary, secondary, exptedResultLength) => { float strength = (secondary != null && secondary.Length > 0) ? secondary[0] : 1f; - var result = new float[primary.Length]; + var result = new float[exptedResultLength]; for (int i = 0; i < 3; i++) result[i] = primary[i] * strength; if (result.Length == 4) @@ -342,18 +386,7 @@ public DefaultMaterialPropertiesRemapper() } }; AddMap(emissiveFactor); - - var emissiveTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_EmissionMap_ST", "_EmissiveTexture_ST", "emissiveTexture_ST" }, - GltfPropertyName = - $"emissiveTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"emissiveTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(emissiveTexture); - + var alphaCutoff = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) { PropertyNames = new[] { "_AlphaCutoff", "alphaCutoff", "_Cutoff" }, @@ -367,18 +400,7 @@ public DefaultMaterialPropertiesRemapper() GltfPropertyName = "normalTexture/scale" }; AddMap(normalScale); - - var normalTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_BumpMap_ST", "_NormalTexture_ST", "normalTexture_ST" }, - GltfPropertyName = - $"normalTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"normalTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(normalTexture); - + var occlusionStrength = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) { PropertyNames = new[] { "_OcclusionStrength", "occlusionStrength", "occlusionTextureStrength" }, @@ -386,17 +408,6 @@ public DefaultMaterialPropertiesRemapper() }; AddMap(occlusionStrength); - var occlusionTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_OcclusionMap_ST", "_OcclusionTexture_ST", "occlusionTexture_ST" }, - GltfPropertyName = - $"occlusionTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"occlusionTexture/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(occlusionTexture); - // KHR_materials_transmission var transmissionFactor = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) { @@ -492,28 +503,47 @@ public DefaultMaterialPropertiesRemapper() }; AddMap(clearcoatRoughnessFactor); - var clearcoatTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_clearcoatTexture_ST", "clearcoatTexture_ST", "ClearcoatTexture_ST" }, - GltfPropertyName = - $"{nameof(KHR_materials_clearcoat.clearcoatTexture)}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"{nameof(KHR_materials_clearcoat.clearcoatTexture)}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(clearcoatTexture); - - var clearcoatRoughnessTexture = new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.TextureTransform) - { - PropertyNames = new[] { "_clearcoatRoughnessTexture_ST", "clearcoatRoughnessTexture_ST", "ClearcoatRoughnessTexture_ST" }, - GltfPropertyName = - $"{nameof(KHR_materials_clearcoat.clearcoatRoughnessTexture)}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.SCALE}", - GltfSecondaryPropertyName = - $"{nameof(KHR_materials_clearcoat.clearcoatRoughnessTexture)}/extensions/{ExtTextureTransformExtensionFactory.EXTENSION_NAME}/{ExtTextureTransformExtensionFactory.OFFSET}", - ExtensionName = ExtTextureTransformExtensionFactory.EXTENSION_NAME - }; - AddMap(clearcoatRoughnessTexture); + var sheenRoughnessFactor = + new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) + { + PropertyNames = new[] { "sheenRoughness", "_sheenRoughness", "sheenRoughnessFactor", "_sheenRoughnessFactor" }, + GltfPropertyName = + $"extensions/{KHR_materials_sheen_Factory.EXTENSION_NAME}/{nameof(KHR_materials_sheen.sheenRoughnessFactor)}", + ExtensionName = KHR_materials_sheen_Factory.EXTENSION_NAME, + }; + AddMap(sheenRoughnessFactor); + var sheenColorFactor = + new MaterialPointerPropertyMap(MaterialPointerPropertyMap.PropertyTypeOption.Float) + { + PropertyNames = new[] { "sheenColor", "_sheenColor", "sheenColorFactor", "_sheenColorFactor" }, + GltfPropertyName = + $"extensions/{KHR_materials_sheen_Factory.EXTENSION_NAME}/{nameof(KHR_materials_sheen.sheenColorFactor)}", + ExtensionName = KHR_materials_sheen_Factory.EXTENSION_NAME, + }; + AddMap(sheenColorFactor); + AddTextureExtTransforms("pbrMetallicRoughness/baseColorTexture", new[] { "_MainTex", "_BaseMap", "_BaseColorTexture", "baseColorTexture" }); + AddTextureExtTransforms("emissiveTexture", new[] { "_EmissionMap", "_EmissiveTexture", "emissiveTexture" } ); + AddTextureExtTransforms("normalTexture", new[] { "_BumpMap", "_NormalTexture", "normalTexture" }); + AddTextureExtTransforms("occlusionTexture", new[] { "_OcclusionMap", "_OcclusionTexture", "occlusionTexture" }); + AddTextureExtTransforms("pbrMetallicRoughness/metallicRoughnessTexture", new[] { "metallicRoughnessTexture", "_metallicRoughnessTexture", "_MetallicRoughnessTexture" }); + + string clearCoatExt = "extensions/"+nameof(KHR_materials_clearcoat)+"/"; + AddTextureExtTransforms(clearCoatExt+ nameof(KHR_materials_clearcoat.clearcoatTexture), new[] { "_ClearcoatTexture", "clearcoatTexture", "ClearcoatTexture" }, nameof(KHR_materials_clearcoat)); + AddTextureExtTransforms(clearCoatExt+ nameof(KHR_materials_clearcoat.clearcoatRoughnessTexture), new[] { "_ClearcoatRoughnessTexture", "clearcoatRoughnessTexture", "ClearcoatRoughnessTexture" }, nameof(KHR_materials_clearcoat)); + AddTextureExtTransforms(clearCoatExt+ nameof(KHR_materials_clearcoat.clearcoatNormalTexture), new[] { "_ClearcoatNormalTexture_", "clearcoatNormalTexture", "ClearcoatNormalTexture" }, nameof(KHR_materials_clearcoat)); + + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_volume)+"/"+nameof(KHR_materials_volume.thicknessTexture), new[] {"thicknessTexture", "_thicknessTexture"}, nameof(KHR_materials_volume)); + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_transmission)+"/"+nameof(KHR_materials_transmission.transmissionTexture), new[] {"transmissionTexture", "_transmissionTexture"}, nameof(KHR_materials_transmission)); + + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_iridescence)+"/"+nameof(KHR_materials_iridescence.iridescenceTexture), new[] { "iridescenceTexture", "_iridescenceTexture"}, nameof(KHR_materials_iridescence)); + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_iridescence)+"/"+nameof(KHR_materials_iridescence.iridescenceThicknessTexture), new[] { "iridescenceThicknessTexture", "_iridescenceThicknessTexture"}, nameof(KHR_materials_iridescence)); + + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_specular)+"/"+nameof(KHR_materials_specular.specularTexture), new[] { "specularTexture", "_specularTexture"}, nameof(KHR_materials_specular)); + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_specular)+"/"+nameof(KHR_materials_specular.specularColorTexture), new[] { "specularColorTexture", "_specularColorTexture"}, nameof(KHR_materials_specular)); + + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_sheen)+"/"+nameof(KHR_materials_sheen.sheenColorTexture), new[] {"sheenColorTexture", "_sheenColorTexture"}, nameof(KHR_materials_sheen)); + AddTextureExtTransforms("extensions/"+nameof(KHR_materials_sheen)+"/"+nameof(KHR_materials_sheen.sheenRoughnessTexture), new[] {"sheenRoughnessTexture", "_sheenRoughnessTexture"}, nameof(KHR_materials_sheen)); // TODO KHR_materials_sheen // case "_SheenColorFactor": diff --git a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs index 5eaa56e20..96d363718 100644 --- a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs +++ b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs @@ -15,6 +15,7 @@ public abstract class GLTFExportPluginContext { public virtual void BeforeSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) {} public virtual void AfterSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) {} + public virtual bool ShouldNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Transform transform) => true; public virtual void BeforeNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Transform transform, Node node) {} public virtual void AfterNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Transform transform, Node node) {} public virtual bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Material material, GLTFMaterial materialNode) => false; diff --git a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs index 5a5f38b9f..2815e305e 100644 --- a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs +++ b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs @@ -36,7 +36,19 @@ public abstract class GLTFPlugin: ScriptableObject public abstract string DisplayName { get; } public virtual string Description => null; public virtual string HelpUrl => null; - public bool Enabled { get; set; } = true; + + [SerializeField] [HideInInspector] private bool enabled = true; + public virtual bool Enabled + { + get + { + return enabled || AlwaysEnabled; + } + set + { + enabled = value; + } + } public virtual bool EnabledByDefault => true; public virtual bool AlwaysEnabled => false; public virtual string Warning => null; diff --git a/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs b/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs index 1c5f8a842..a2dd01a6c 100644 --- a/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs +++ b/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs @@ -35,7 +35,7 @@ public override void BeforeNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfR var previousSortMode = p.sortMode; if (p.sortMode == ParticleSystemSortMode.None) p.sortMode = ParticleSystemSortMode.Distance; -#if UNITY_2023_1_OR_NEWER +#if UNITY_2022_3_11_OR_NEWER p.BakeMesh(m, Camera.main, ParticleSystemBakeMeshOptions.Default); #else p.BakeMesh(m, Camera.main, true); diff --git a/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs b/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs index 0dc9b4abd..ef5234bec 100644 --- a/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs +++ b/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs @@ -27,17 +27,27 @@ public override void AfterNodeExport(GLTFSceneExporter exporter, GLTFRoot root, // emit mesh and material if this is a Graphic element in a Canvas that's not disabled if (!shader) { - shader = Shader.Find("Hidden/UnityGLTF/UnlitGraph-Transparent"); + shader = Shader.Find("UnityGLTF/UnlitGraph"); #if UNITY_EDITOR - if (!shader) shader = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("83f2caca07949794fb997734c4b0520f")); + if (!shader) shader = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("59541e6caf586ca4f96ccf48a4813a51")); #endif + if (!shader) + { + Debug.LogError("CanvasExport: Shader not found. Please make sure the UnityGLTF/UnlitGraph shader is included in build or add the UnityGLTFShaderVariantCollection in Project Settings/Graphics."); + return; + } } var g = transform; // force refresh var r = transform.GetComponent(); - if (r) r.GetType().GetMethod("RequestRefresh", (BindingFlags)(-1)).Invoke(r, null); + if (r) + { + var rMethod = r.GetType().GetMethod("RequestRefresh", (BindingFlags)(-1)); + if (rMethod != null) + rMethod.Invoke(r, null); + } var canvas = g.GetComponent() ? g.GetComponent().canvas : null; var canvasRect = canvas ? canvas.GetComponent().rect : new Rect(0,0,1000,1000); diff --git a/Runtime/Scripts/Plugins/Experimental/CanvasExportCaptureMeshHelper.cs b/Runtime/Scripts/Plugins/Experimental/CanvasExportCaptureMeshHelper.cs index 2157f8037..8aaebd597 100644 --- a/Runtime/Scripts/Plugins/Experimental/CanvasExportCaptureMeshHelper.cs +++ b/Runtime/Scripts/Plugins/Experimental/CanvasExportCaptureMeshHelper.cs @@ -37,6 +37,7 @@ public bool GetMeshAndMaterial(out Mesh mesh, out Material material, Shader shad return false; } + g.SetVerticesDirty(); g.Rebuild(CanvasUpdate.PreRender); mesh = this.mesh; @@ -53,7 +54,11 @@ public bool GetMeshAndMaterial(out Mesh mesh, out Material material, Shader shad material = tmPro.fontSharedMaterial; } #endif - if (!material) material = new Material(shader); + if (!material) + { + material = new Material(shader); + material.SetOverrideTag("RenderType", "Transparent"); + } if (!hasTMPro) { diff --git a/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs b/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs index f29ff7ba1..160a0428e 100644 --- a/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs +++ b/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs @@ -33,8 +33,7 @@ public override void AfterSceneExport(GLTFSceneExporter _, GLTFRoot __) kvp.Value.Release(); rtCache.Clear(); } - - private Material tempMat; + private Dictionary rtCache; public override bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Material material, GLTFMaterial materialNode) @@ -50,28 +49,43 @@ public override bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot g newS = UnityEditor.AssetDatabase.LoadAssetAtPath(UnityEditor.AssetDatabase.GUIDToAssetPath("fe393ace9b354375a9cb14cdbbc28be4")); // same as above } #endif - material.shader = newS; - - if (!tempMat) tempMat = new Material(Shader.Find("Unlit/Transparent Cutout")); + if (!newS) + { + Debug.LogError("TextMeshPro/Mobile/Distance Field shader not found. For exporting TextMeshPro GameObjects, please ensure this shader exist in build."); + return false; + } + material.shader = newS; + var existingTex = material.mainTexture; if (rtCache == null) rtCache = new Dictionary(); if (!rtCache.ContainsKey(existingTex)) { - var rt = new RenderTexture(existingTex.width, existingTex.height, 0, RenderTextureFormat.ARGB32); + var rt = new RenderTexture(existingTex.width * 2, existingTex.height * 2, 0, RenderTextureFormat.ARGB32); + + float outlineSoftness = 0; if (material.HasProperty("_OutlineSoftness")) + { + outlineSoftness = material.GetFloat("_OutlineSoftness"); material.SetFloat("_OutlineSoftness", 0); + } // TODO figure out how to get this more smooth Graphics.Blit(existingTex, rt, material); rtCache[existingTex] = rt; rt.anisoLevel = 9; rt.filterMode = FilterMode.Bilinear; - } - - tempMat.mainTexture = rtCache[existingTex]; - + + if (material.HasProperty("_OutlineSoftness")) + { + material.SetFloat("_OutlineSoftness", outlineSoftness); + } - exporter.ExportUnlit(materialNode, tempMat); + } + + const string extname = KHR_MaterialsUnlitExtensionFactory.EXTENSION_NAME; + exporter.DeclareExtensionUsage( extname, true ); + materialNode.AddExtension( extname, new KHR_MaterialsUnlitExtension()); + materialNode.PbrMetallicRoughness = new PbrMetallicRoughness(); // export material // alternative: double sided, alpha clipping, white RGB + TMPro mainTex R channel as alpha @@ -80,6 +94,8 @@ public override bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot g materialNode.PbrMetallicRoughness.BaseColorFactor = Color.white.ToNumericsColorLinear(); materialNode.AlphaMode = AlphaMode.BLEND; + materialNode.PbrMetallicRoughness.BaseColorTexture = exporter.ExportTextureInfo(rtCache[existingTex], GLTFSceneExporter.TextureMapType.BaseColor); + material.shader = s; #if UNITY_EDITOR && UNITY_2019_3_OR_NEWER UnityEditor.EditorUtility.ClearDirty(material); diff --git a/Runtime/Scripts/Plugins/Experimental/UnityGLTF.Plugins.Experimental.asmdef b/Runtime/Scripts/Plugins/Experimental/UnityGLTF.Plugins.Experimental.asmdef index 8efde89f1..3718d4eb4 100644 --- a/Runtime/Scripts/Plugins/Experimental/UnityGLTF.Plugins.Experimental.asmdef +++ b/Runtime/Scripts/Plugins/Experimental/UnityGLTF.Plugins.Experimental.asmdef @@ -25,6 +25,11 @@ "name": "com.unity.ugui", "expression": "2.0.0", "define": "HAVE_TMPRO" + }, + { + "name": "Unity", + "expression": "2022.3.11", + "define": "UNITY_2022_3_11_OR_NEWER" } ], "noEngineReferences": false diff --git a/Runtime/Scripts/Plugins/LodsExport.cs b/Runtime/Scripts/Plugins/LodsExport.cs index 2b525e6d3..1d7ad7d31 100644 --- a/Runtime/Scripts/Plugins/LodsExport.cs +++ b/Runtime/Scripts/Plugins/LodsExport.cs @@ -46,7 +46,9 @@ public override void AfterNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfro return; } - nodeIds[index] = exporter.ExportNode(lod.renderers[0].gameObject).Id; + var lodNode = exporter.ExportNode(lod.renderers[0].gameObject); + if (lodNode != null) nodeIds[index] = lodNode.Id; + coverages[index] = lod.screenRelativeTransitionHeight; } // if (usesCulling) coverages[coverages.Length - 1] = 0; diff --git a/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs b/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs index 0750a4cad..5899c3694 100644 --- a/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs +++ b/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs @@ -14,7 +14,8 @@ public class MaterialExtensionsExport: GLTFExportPlugin public bool KHR_materials_specular = true; public bool KHR_materials_clearcoat = true; public bool KHR_materials_emissive_strength = true; - + public bool KHR_materials_sheen = true; + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new MaterialExtensionsExportContext(this); @@ -30,6 +31,7 @@ public override GLTFExportPluginContext CreateInstance(ExportContext context) - KHR_materials_specular - KHR_materials_clearcoat - KHR_materials_emissive_strength +- KHR_materials_sheen "; } @@ -69,6 +71,10 @@ public MaterialExtensionsExportContext(MaterialExtensionsExport settings) private static readonly int clearcoatRoughnessTexture = Shader.PropertyToID("clearcoatRoughnessTexture"); private static readonly int clearcoatNormalTexture = Shader.PropertyToID("clearcoatNormalTexture"); + private static readonly int sheenColorFactor = Shader.PropertyToID("sheenColorFactor"); + private static readonly int sheenRoughnessFactor = Shader.PropertyToID("sheenRoughnessFactor"); + private static readonly int sheenColorTexture = Shader.PropertyToID("sheenColorTexture"); + private static readonly int sheenRoughnessTexture = Shader.PropertyToID("sheenRoughnessTexture"); public override void AfterMaterialExport(GLTFSceneExporter exporter, GLTFRoot gltfroot, Material material, GLTFMaterial materialnode) { @@ -81,6 +87,7 @@ public override void AfterMaterialExport(GLTFSceneExporter exporter, GLTFRoot gl var usesIridescence = material.IsKeywordEnabled("_IRIDESCENCE_ON"); var usesSpecular = material.IsKeywordEnabled("_SPECULAR_ON"); var usesClearcoat = material.IsKeywordEnabled("_CLEARCOAT_ON"); + var usesSheen = material.IsKeywordEnabled("_SHEEN_ON"); if (hasNonDefaultIor && settings.KHR_materials_ior) { @@ -240,6 +247,31 @@ public override void AfterMaterialExport(GLTFSceneExporter exporter, GLTFRoot gl if (material.HasProperty(clearcoatNormalTexture)) cc.clearcoatNormalTexture = exporter.ExportTextureInfoWithTextureTransform(material, material.GetTexture(clearcoatNormalTexture), nameof(clearcoatNormalTexture)); } + + if (usesSheen && settings.KHR_materials_sheen) + { + exporter.DeclareExtensionUsage(KHR_materials_sheen_Factory.EXTENSION_NAME, false); + + if (materialnode.Extensions == null) + materialnode.Extensions = new Dictionary(); + + var cc = new KHR_materials_sheen(); + + if (materialnode.Extensions.TryGetValue(KHR_materials_sheen_Factory.EXTENSION_NAME, out var vv0)) + cc = (KHR_materials_sheen) vv0; + else + materialnode.Extensions.Add(KHR_materials_sheen_Factory.EXTENSION_NAME, cc); + + if (material.HasProperty(sheenColorFactor)) + cc.sheenColorFactor = material.GetColor(sheenColorFactor).ToNumericsColorRaw(); + if (material.HasProperty(sheenColorTexture)) + cc.sheenColorTexture = exporter.ExportTextureInfoWithTextureTransform(material, material.GetTexture(sheenColorTexture), nameof(sheenColorTexture)); + + if (material.HasProperty(sheenRoughnessFactor)) + cc.sheenRoughnessFactor = material.GetFloat(sheenRoughnessFactor); + if (material.HasProperty(sheenRoughnessTexture)) + cc.sheenRoughnessTexture = exporter.ExportTextureInfoWithTextureTransform(material, material.GetTexture(sheenRoughnessTexture), nameof(sheenRoughnessTexture)); + } } } } diff --git a/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs b/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs index 28a46abdb..f5f9b0d5e 100644 --- a/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs +++ b/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs @@ -10,6 +10,7 @@ public class MaterialExtensionsImport: GLTFImportPlugin public bool KHR_materials_iridescence = true; public bool KHR_materials_specular = true; public bool KHR_materials_clearcoat = true; + public bool KHR_materials_sheen = true; [HideInInspector] // legacy public bool KHR_materials_pbrSpecularGlossiness = true; public bool KHR_materials_emissive_strength = true; diff --git a/Runtime/Scripts/Plugins/VisibilityExport.cs b/Runtime/Scripts/Plugins/VisibilityExport.cs new file mode 100644 index 000000000..d672d9e48 --- /dev/null +++ b/Runtime/Scripts/Plugins/VisibilityExport.cs @@ -0,0 +1,17 @@ +using GLTF.Schema; + +namespace UnityGLTF.Plugins +{ + public class VisibilityExport : GLTFExportPlugin + { + public override string DisplayName => KHR_node_visibility_Factory.EXTENSION_NAME; + public override string Description => "Exports visibility of objects."; + public override bool AlwaysEnabled => false; + public override bool EnabledByDefault => false; + public override GLTFExportPluginContext CreateInstance(ExportContext context) + { + // always enabled + return null; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Plugins/VisibilityExport.cs.meta b/Runtime/Scripts/Plugins/VisibilityExport.cs.meta new file mode 100644 index 000000000..d8d9b1467 --- /dev/null +++ b/Runtime/Scripts/Plugins/VisibilityExport.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f2b6fa8618a247c3a77768773459dcd5 +timeCreated: 1731402026 \ No newline at end of file diff --git a/Runtime/Scripts/Plugins/VisibilityImport.cs b/Runtime/Scripts/Plugins/VisibilityImport.cs new file mode 100644 index 000000000..44906af41 --- /dev/null +++ b/Runtime/Scripts/Plugins/VisibilityImport.cs @@ -0,0 +1,17 @@ +using GLTF.Schema; + +namespace UnityGLTF.Plugins +{ + public class VisibilityImport: GLTFImportPlugin + { + public override string DisplayName => KHR_node_visibility_Factory.EXTENSION_NAME; + public override string Description => "Imports visibility of objects"; + public override bool AlwaysEnabled => true; + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) + { + // always enabled + return null; + } + + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Plugins/VisibilityImport.cs.meta b/Runtime/Scripts/Plugins/VisibilityImport.cs.meta new file mode 100644 index 000000000..497630ab3 --- /dev/null +++ b/Runtime/Scripts/Plugins/VisibilityImport.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 06b516fa9f5941be92bd6cecf2dd5ca5 +timeCreated: 1731402011 \ No newline at end of file diff --git a/Runtime/Scripts/RenderPipelines/RoughRefractionFeature.cs b/Runtime/Scripts/RenderPipelines/RoughRefractionFeature.cs index 7a69671dd..8b5668f46 100644 --- a/Runtime/Scripts/RenderPipelines/RoughRefractionFeature.cs +++ b/Runtime/Scripts/RenderPipelines/RoughRefractionFeature.cs @@ -115,7 +115,12 @@ public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderin descriptor.height /= 4; } #if UNITY_2022_3_OR_NEWER + +#if UNITY_6000_0_OR_NEWER + RenderingUtils.ReAllocateHandleIfNeeded(ref m_destination, descriptor, FilterMode.Trilinear, TextureWrapMode.Clamp, name: CAMERA_OPAQUE_TEXTURENAME); +#else RenderingUtils.ReAllocateIfNeeded(ref m_destination, descriptor, FilterMode.Trilinear, TextureWrapMode.Clamp, name: CAMERA_OPAQUE_TEXTURENAME); +#endif base.Setup(m_source, m_destination, this.m_DownsamplingMethod); cmd.SetGlobalTexture(m_destination.name, m_destination.nameID); #else diff --git a/Runtime/Scripts/SceneExporter/ExporterMeshes.cs b/Runtime/Scripts/SceneExporter/ExporterMeshes.cs index 2e6bc9a9a..f52e3011f 100644 --- a/Runtime/Scripts/SceneExporter/ExporterMeshes.cs +++ b/Runtime/Scripts/SceneExporter/ExporterMeshes.cs @@ -17,7 +17,7 @@ public partial class GLTFSceneExporter { private struct MeshAccessors { - public AccessorId aPosition, aNormal, aTangent, aTexcoord0, aTexcoord1, aColor0, aJoints0, aWeights0; + public AccessorId aPosition, aNormal, aTangent, aTexcoord0, aTexcoord1, aTexcoord2, aColor0, aJoints0, aWeights0; public Dictionary subMeshPrimitives; } @@ -250,21 +250,58 @@ private MeshPrimitive[] ExportPrimitive(UniquePrimitive primKey, GLTFMesh mesh) if (!_meshToPrims.ContainsKey(meshObj)) { - AccessorId aPosition = null, aNormal = null, aTangent = null, aTexcoord0 = null, aTexcoord1 = null, aColor0 = null; + AccessorId aPosition = null, aNormal = null, aTangent = null, aTexcoord0 = null, aTexcoord1 = null, aTexcoord2 = null, aColor0 = null; aPosition = ExportAccessor(SchemaExtensions.ConvertVector3CoordinateSpaceAndCopy(meshObj.vertices, SchemaExtensions.CoordinateSpaceConversionScale)); - if (meshObj.normals.Length != 0) + if (meshObj.HasVertexAttribute(VertexAttribute.Normal)) aNormal = ExportAccessor(SchemaExtensions.ConvertVector3CoordinateSpaceAndCopy(meshObj.normals, SchemaExtensions.CoordinateSpaceConversionScale)); - if (meshObj.tangents.Length != 0) + if (meshObj.HasVertexAttribute(VertexAttribute.Tangent)) aTangent = ExportAccessor(SchemaExtensions.ConvertTangentCoordinateSpaceAndCopy(meshObj.tangents, SchemaExtensions.TangentSpaceConversionScale)); - if (meshObj.uv.Length != 0) - aTexcoord0 = ExportAccessor(SchemaExtensions.FlipTexCoordArrayVAndCopy(meshObj.uv)); + if (meshObj.HasVertexAttribute(VertexAttribute.TexCoord0)) + { + var uvDim = meshObj.GetVertexAttributeDimension(VertexAttribute.TexCoord0); + if (uvDim != 2) Debug.LogWarning(null, "UV0 must be Vector2 in glTF, but it has " + uvDim + " channels. Only xy will be exported. Mesh: " + meshObj.name); + var uv= meshObj.uv; + if (uv.Length != 0) + aTexcoord0 = ExportAccessor(SchemaExtensions.FlipTexCoordArrayVAndCopy(uv)); + } + + if (meshObj.HasVertexAttribute(VertexAttribute.TexCoord1)) + { + var uvDim1 = meshObj.GetVertexAttributeDimension(VertexAttribute.TexCoord1); + if (uvDim1 != 2) + Debug.LogWarning(null, "UV1 must be Vector2 in glTF, but it has " + uvDim1 + " channels. Only xy will be exported. Mesh: " + meshObj.name); + var uv2 = meshObj.uv2; + if (uv2.Length != 0) + aTexcoord1 = ExportAccessor(SchemaExtensions.FlipTexCoordArrayVAndCopy(uv2)); + } - if (meshObj.uv2.Length != 0) - aTexcoord1 = ExportAccessor(SchemaExtensions.FlipTexCoordArrayVAndCopy(meshObj.uv2)); + // From UV2, we're exporting as custom attribute + if (meshObj.HasVertexAttribute(VertexAttribute.TexCoord2)) + { + var uvDim2 = meshObj.GetVertexAttributeDimension(VertexAttribute.TexCoord2); + if (uvDim2 == 2) + { + var uvs = new List(meshObj.vertexCount); + meshObj.GetUVs(2, uvs); + aTexcoord2 = ExportAccessor(uvs.ToArray()); + } + else if (uvDim2 == 3) + { + var uvs = new List(meshObj.vertexCount); + meshObj.GetUVs(2, uvs); + aTexcoord2 = ExportAccessor(uvs.ToArray()); + } + else if (uvDim2 == 4) + { + var uvs = new List(meshObj.vertexCount); + meshObj.GetUVs(2, uvs); + aTexcoord2 = ExportAccessor(uvs.ToArray()); + } + } if (settings.ExportVertexColors && meshObj.colors.Length != 0) aColor0 = ExportAccessor(QualitySettings.activeColorSpace == ColorSpace.Linear ? meshObj.colors : meshObj.colors.ToLinear(), true); @@ -274,6 +311,7 @@ private MeshPrimitive[] ExportPrimitive(UniquePrimitive primKey, GLTFMesh mesh) if (aTangent != null) aTangent.Value.BufferView.Value.Target = BufferViewTarget.ArrayBuffer; if (aTexcoord0 != null) aTexcoord0.Value.BufferView.Value.Target = BufferViewTarget.ArrayBuffer; if (aTexcoord1 != null) aTexcoord1.Value.BufferView.Value.Target = BufferViewTarget.ArrayBuffer; + if (aTexcoord2 != null) aTexcoord2.Value.BufferView.Value.Target = BufferViewTarget.ArrayBuffer; if (aColor0 != null) aColor0.Value.BufferView.Value.Target = BufferViewTarget.ArrayBuffer; _meshToPrims.Add(meshObj, new MeshAccessors() @@ -283,6 +321,7 @@ private MeshPrimitive[] ExportPrimitive(UniquePrimitive primKey, GLTFMesh mesh) aTangent = aTangent, aTexcoord0 = aTexcoord0, aTexcoord1 = aTexcoord1, + aTexcoord2 = aTexcoord2, aColor0 = aColor0, subMeshPrimitives = new Dictionary() }); @@ -322,6 +361,8 @@ private MeshPrimitive[] ExportPrimitive(UniquePrimitive primKey, GLTFMesh mesh) primitive.Attributes.Add(SemanticProperties.TEXCOORD_0, accessors.aTexcoord0); if (accessors.aTexcoord1 != null) primitive.Attributes.Add(SemanticProperties.TEXCOORD_1, accessors.aTexcoord1); + if (accessors.aTexcoord2 != null) + primitive.Attributes.Add(SemanticProperties.TEXCOORD_2, accessors.aTexcoord2); if (accessors.aColor0 != null) primitive.Attributes.Add(SemanticProperties.COLOR_0, accessors.aColor0); diff --git a/Runtime/Scripts/SceneExporter/ExporterTextures.cs b/Runtime/Scripts/SceneExporter/ExporterTextures.cs index 9f861be1c..e0b778de6 100644 --- a/Runtime/Scripts/SceneExporter/ExporterTextures.cs +++ b/Runtime/Scripts/SceneExporter/ExporterTextures.cs @@ -18,10 +18,32 @@ public partial class GLTFSceneExporter private string GetUniqueName(HashSet existingNames, string name) { if (!existingNames.Contains(name)) return name; - var i = 1; - while (existingNames.Contains( $"{name}-{i}")) - i++; - return $"{name}-{i}"; + + string newName = name; + if (Path.HasExtension(name)) + { + string extension = Path.GetExtension(name); + string baseName = Path.GetFileNameWithoutExtension(name); + var i = 1; + newName = $"{baseName}-{i}{extension}"; + while (existingNames.Contains($"{baseName}-{i}{extension}")) + { + i++; + newName = $"{baseName}-{i}{extension}"; + } + } + else + { + var i = 1; + newName = $"{name}-{i}"; + while (existingNames.Contains($"{name}-{i}")) + { + i++; + newName = $"{name}-{i}"; + } + } + + return newName; } private void ExportImages(string outputPath) @@ -32,7 +54,7 @@ private void ExportImages(string outputPath) var image = _imageInfos[t].texture; var textureMapType = _imageInfos[t].textureMapType; - var fileOutputPath = Path.Combine(outputPath, GetUniqueName(_imageExportPaths, _imageInfos[t].outputPath)); + var fileOutputPath = Path.Combine(outputPath, _imageInfos[t].outputPath); _imageExportPaths.Add(fileOutputPath); var canBeExportedFromDisk = _imageInfos[t].canBeExportedFromDisk; diff --git a/Runtime/Scripts/SceneImporter/ImporterAnimation.cs b/Runtime/Scripts/SceneImporter/ImporterAnimation.cs index 960c9df6c..f1f5ec62b 100644 --- a/Runtime/Scripts/SceneImporter/ImporterAnimation.cs +++ b/Runtime/Scripts/SceneImporter/ImporterAnimation.cs @@ -205,8 +205,8 @@ private void SetTangentMode(Keyframe[] keyframes, int keyframeIndex, Interpolati key.outTangent = 0; break; case InterpolationType.LINEAR: - key.inTangent = GetCurveKeyframeLeftLinearSlope(keyframes, keyframeIndex); - key.outTangent = GetCurveKeyframeLeftLinearSlope(keyframes, keyframeIndex + 1); + key.inTangent = GetCurveKeyframeLeftLinearSlope(keyframes, keyframeIndex, ref AnyAnimationTimeNotIncreasing); + key.outTangent = GetCurveKeyframeLeftLinearSlope(keyframes, keyframeIndex + 1, ref AnyAnimationTimeNotIncreasing); break; case InterpolationType.STEP: key.inTangent = float.PositiveInfinity; @@ -218,7 +218,7 @@ private void SetTangentMode(Keyframe[] keyframes, int keyframeIndex, Interpolati keyframes[keyframeIndex] = key; } - private static float GetCurveKeyframeLeftLinearSlope(Keyframe[] keyframes, int keyframeIndex) + private static float GetCurveKeyframeLeftLinearSlope(Keyframe[] keyframes, int keyframeIndex, ref bool anyNonCreasing) { if (keyframeIndex <= 0 || keyframeIndex >= keyframes.Length) { @@ -233,7 +233,7 @@ private static float GetCurveKeyframeLeftLinearSlope(Keyframe[] keyframes, int k var k = keyframes[keyframeIndex]; k.time = keyframes[keyframeIndex - 1].time + Mathf.Epsilon + 1 / 100f; keyframes[keyframeIndex] = k; - Debug.Log(LogType.Warning, "Time of subsequent animation keyframes is not increasing (glTF-Validator error ACCESSOR_ANIMATION_INPUT_NON_INCREASING)"); + anyNonCreasing = true; return float.PositiveInfinity; } return valueDelta / timeDelta; @@ -384,16 +384,26 @@ AttributeAccessor FindSecondaryChannel(string animationPointerPath) if (!mat.UnityMaterial) continue; - if (!AnimationPointerHelpers.BuildImportMaterialAnimationPointerData(pointerImportContext.materialPropertiesRemapper, mat.UnityMaterial, gltfPropertyPath, samplerCache.Output.AccessorId.Value.Type, out pointerData)) + if (!AnimationPointerHelpers.BuildImportMaterialAnimationPointerData(pointer.path, pointerImportContext.materialPropertiesRemapper, mat.UnityMaterial, gltfPropertyPath, samplerCache.Output, out pointerData)) continue; - - pointerData.primaryData = samplerCache.Output; - pointerData.primaryPath = pointer.path; - if (!string.IsNullOrEmpty(pointerData.secondaryPath)) + pointerData.targetNodeIds = nodeIds; + if (string.IsNullOrEmpty(pointerData.primaryPath)) + { + pointerData.primaryPath = "/" + pointerHierarchy.ExtractPath().Replace(rootIndex.next.ExtractPath(), pointerData.primaryProperty); + pointerData.primaryData = FindSecondaryChannel(pointerData.primaryPath); + if (pointerData.primaryData != null) + { + //cancel here and process this combined property later when we found first the Primary Property + continue; + } + } + else + if (!string.IsNullOrEmpty(pointerData.secondaryProperty)) { // When an property has potentially a second Sampler, we need to find it. e.g. like EmissionFactor and EmissionStrength - string secondaryPath = $"/{pointerHierarchy.elementName}/{rootIndex.index.ToString()}/{pointerData.secondaryPath}"; - pointerData.secondaryData = FindSecondaryChannel(secondaryPath); + + pointerData.secondaryPath = "/" + pointerHierarchy.ExtractPath().Replace(rootIndex.next.ExtractPath(), pointerData.secondaryProperty); + pointerData.secondaryData = FindSecondaryChannel(pointerData.secondaryPath); } break; case "cameras": diff --git a/Runtime/Scripts/SceneImporter/ImporterMaterials.cs b/Runtime/Scripts/SceneImporter/ImporterMaterials.cs index f635c9bae..db31e8220 100644 --- a/Runtime/Scripts/SceneImporter/ImporterMaterials.cs +++ b/Runtime/Scripts/SceneImporter/ImporterMaterials.cs @@ -204,6 +204,7 @@ void SetTransformKeyword() var KHR_materials_clearcoat = settings && settings.KHR_materials_clearcoat; var KHR_materials_pbrSpecularGlossiness = settings && settings.KHR_materials_pbrSpecularGlossiness; var KHR_materials_emissive_strength = settings && settings.KHR_materials_emissive_strength; + var KHR_materials_sheen = settings && settings.KHR_materials_sheen; // ReSharper restore InconsistentNaming var sgMapper = mapper as ISpecGlossUniformMap; @@ -310,6 +311,64 @@ void SetTransformKeyword() } } + var sheenMapper = mapper as ISheenMap; + if (sheenMapper != null && KHR_materials_sheen) + { + var sheen = GetSheen(def); + if (sheen != null) + { + sheenMapper.SheenColorFactor = sheen.sheenColorFactor.ToUnityColorRaw(); + sheenMapper.SheenRoughnessFactor = sheen.sheenRoughnessFactor; + MatHelper.SetKeyword(mapper.Material, "_SHEEN", true); + + if (sheen.sheenColorTexture != null) + { + var td = await FromTextureInfo(sheen.sheenColorTexture, false); + sheenMapper.SheenColorTexture = td.Texture; + sheenMapper.SheenColorTextureTexCoord = td.TexCoord; + var ext = GetTextureTransform(sheen.sheenColorTexture); + if (ext != null) + { + CalculateYOffsetAndScale(sheen.sheenColorTexture.Index, ext, out var scale, out var offset); + sheenMapper.SheenColorTextureOffset = offset; + sheenMapper.SheenColorTextureScale = scale; + sheenMapper.SheenColorTextureRotation = td.Rotation; + if (td.TexCoordExtra != null) sheenMapper.SheenColorTextureTexCoord = td.TexCoordExtra.Value; + SetTransformKeyword(); + } + else if (IsTextureFlipped(sheen.sheenColorTexture.Index.Value)) + { + sheenMapper.SheenColorTextureScale = new Vector2(1f,-1f); + sheenMapper.SheenColorTextureOffset = new Vector2(0f, 1f); + SetTransformKeyword(); + } + } + + if (sheen.sheenRoughnessTexture != null) + { + var td = await FromTextureInfo(sheen.sheenRoughnessTexture, false); + sheenMapper.SheenRoughnessTexture = td.Texture; + sheenMapper.SheenColorTextureTexCoord = td.TexCoord; + var ext = GetTextureTransform(sheen.sheenRoughnessTexture); + if (ext != null) + { + CalculateYOffsetAndScale(sheen.sheenRoughnessTexture.Index, ext, out var scale, out var offset); + sheenMapper.SheenRoughnessTextureOffset = offset; + sheenMapper.SheenRoughnessTextureScale = scale; + sheenMapper.SheenRoughnessTextureRotation = td.Rotation; + if (td.TexCoordExtra != null) sheenMapper.SheenRoughnessTextureTexCoord = td.TexCoordExtra.Value; + SetTransformKeyword(); + } + else if (IsTextureFlipped(sheen.sheenRoughnessTexture.Index.Value)) + { + sheenMapper.SheenRoughnessTextureScale = new Vector2(1f,-1f); + sheenMapper.SheenRoughnessTextureOffset = new Vector2(0f, 1f); + SetTransformKeyword(); + } + } + } + } + var transmissionMapper = mapper as ITransmissionMap; if (transmissionMapper != null && KHR_materials_transmission) { @@ -342,6 +401,9 @@ void SetTransformKeyword() } mapper.Material.renderQueue = 3000; +#if UNITY_VISIONOS + mapper.AlphaMode = AlphaMode.BLEND; +#endif bool hasDispersion = false; if (transmissionMapper is IDispersionMap dispersionMapper) { @@ -373,6 +435,9 @@ void SetTransformKeyword() var volume = GetVolume(def); if (volume != null) { +#if UNITY_VISIONOS + mapper.AlphaMode = AlphaMode.BLEND; +#endif volumeMapper.AttenuationColor = QualitySettings.activeColorSpace == ColorSpace.Linear ? volume.attenuationColor.ToUnityColorLinear() : volume.attenuationColor.ToUnityColorRaw(); volumeMapper.AttenuationDistance = volume.attenuationDistance; volumeMapper.ThicknessFactor = volume.thicknessFactor; @@ -868,6 +933,20 @@ protected virtual Task ConstructMaterialImageBuffers(GLTFMaterial def) } } + if (def.Extensions != null && def.Extensions.ContainsKey(KHR_materials_sheen_Factory.EXTENSION_NAME)) + { + var sheenDef = (KHR_materials_sheen)def.Extensions[KHR_materials_sheen_Factory.EXTENSION_NAME]; + if (sheenDef.sheenColorTexture != null) + { + var textureId = sheenDef.sheenColorTexture.Index; + tasks.Add(ConstructImageBuffer(textureId.Value, textureId.Id)); + } + if (sheenDef.sheenRoughnessTexture != null) + { + var textureId = sheenDef.sheenRoughnessTexture.Index; + tasks.Add(ConstructImageBuffer(textureId.Value, textureId.Id)); + } + } if (def.Extensions != null && def.Extensions.ContainsKey(KHR_materials_clearcoat_Factory.EXTENSION_NAME)) { @@ -925,6 +1004,16 @@ protected virtual KHR_materials_transmission GetTransmission(GLTFMaterial def) return null; } + protected virtual KHR_materials_sheen GetSheen(GLTFMaterial def) + { + if (_gltfRoot.ExtensionsUsed != null && _gltfRoot.ExtensionsUsed.Contains(KHR_materials_sheen_Factory.EXTENSION_NAME) && + def.Extensions != null && def.Extensions.TryGetValue(KHR_materials_sheen_Factory.EXTENSION_NAME, out var extension)) + { + return (KHR_materials_sheen) extension; + } + return null; + } + protected virtual KHR_materials_dispersion GetDispersion(GLTFMaterial def) { if (_gltfRoot.ExtensionsUsed != null && _gltfRoot.ExtensionsUsed.Contains(KHR_materials_dispersion_Factory.EXTENSION_NAME) && diff --git a/Runtime/Scripts/SceneImporter/ImporterMeshes.cs b/Runtime/Scripts/SceneImporter/ImporterMeshes.cs index 8c195f337..e96b6d947 100644 --- a/Runtime/Scripts/SceneImporter/ImporterMeshes.cs +++ b/Runtime/Scripts/SceneImporter/ImporterMeshes.cs @@ -91,13 +91,11 @@ protected virtual async Task ConstructMesh(GLTFMesh mesh, int meshIndex, Cancell } #endif - var firstPrim = mesh.Primitives.Count > 0 ? mesh.Primitives[0] : null; cancellationToken.ThrowIfCancellationRequested(); - - + var meshCache = _assetCache.MeshCache[meshIndex]; - var unityData = CreateUnityMeshData(mesh, meshIndex, firstPrim); + var unityData = CreateUnityMeshData(mesh, meshIndex); for (int i = 0; i < mesh.Primitives.Count; ++i) { @@ -159,8 +157,7 @@ protected void PrepareUnityMeshData() int meshIndex = i; var mesh = _gltfRoot.Meshes[meshIndex]; var meshCache = _assetCache.MeshCache[meshIndex]; - var unityData = CreateUnityMeshData(mesh, meshIndex, - mesh.Primitives.Count > 0 ? mesh.Primitives[0] : null); + var unityData = CreateUnityMeshData(mesh, meshIndex); for (int primIndex = 0; primIndex < mesh.Primitives.Count; ++primIndex) { var primitive = mesh.Primitives[primIndex]; @@ -504,8 +501,7 @@ protected async Task ConstructUnityMesh(GLTFMesh gltfMesh, DecodeResult[] decode await YieldOnTimeoutAndThrowOnLowMemory(); - var firstPrim = gltfMesh.Primitives[0]; - var unityMeshData = CreateUnityMeshData(gltfMesh, meshIndex, firstPrim, true); + var unityMeshData = CreateUnityMeshData(gltfMesh, meshIndex, true); uint vertOffset = 0; var meshCache = _assetCache.MeshCache[meshIndex]; @@ -544,7 +540,7 @@ protected async Task ConstructUnityMesh(GLTFMesh gltfMesh, DecodeResult[] decode #endif - private UnityMeshData CreateUnityMeshData(GLTFMesh gltfMesh, int meshIndex, MeshPrimitive firstPrim, bool onlyMorphTargets = false) + private UnityMeshData CreateUnityMeshData(GLTFMesh gltfMesh, int meshIndex, bool onlyMorphTargets = false) { if (_assetCache.UnityMeshDataCache[meshIndex] != null) { @@ -564,13 +560,30 @@ private UnityMeshData CreateUnityMeshData(GLTFMesh gltfMesh, int meshIndex, Mesh for (int i = 0; i < unityMeshData.subMeshDataCreated.Length; i++) unityMeshData.subMeshDataCreated[i] = false; + + var attributes = new HashSet(); + bool hasTargets = false; + int targetCount = 0; + foreach (var prim in gltfMesh.Primitives) + { + if (prim.Targets != null) + { + hasTargets = true; + targetCount = prim.Targets.Count; + } + + if (prim.Attributes == null) + continue; + + foreach (var attribute in prim.Attributes) + attributes.Add(attribute.Key); + } - - if (firstPrim.Targets != null) + if (hasTargets) { - unityMeshData.MorphTargetVertices = new Vector3[firstPrim.Targets.Count][]; - unityMeshData.MorphTargetNormals = new Vector3[firstPrim.Targets.Count][]; - unityMeshData.MorphTargetTangents = new Vector3[firstPrim.Targets.Count][]; + unityMeshData.MorphTargetVertices = new Vector3[targetCount][]; + unityMeshData.MorphTargetNormals = new Vector3[targetCount][]; + unityMeshData.MorphTargetTangents = new Vector3[targetCount][]; foreach (var prim in gltfMesh.Primitives) { @@ -605,28 +618,28 @@ private UnityMeshData CreateUnityMeshData(GLTFMesh gltfMesh, int meshIndex, Mesh if (!onlyMorphTargets) { unityMeshData.Vertices = new Vector3[verticesLength]; - unityMeshData.Normals = firstPrim.Attributes.ContainsKey(SemanticProperties.NORMAL) + unityMeshData.Normals = attributes.Contains(SemanticProperties.NORMAL) ? new Vector3[verticesLength] : null; - unityMeshData.Tangents = firstPrim.Attributes.ContainsKey(SemanticProperties.TANGENT) + unityMeshData.Tangents = attributes.Contains(SemanticProperties.TANGENT) ? new Vector4[verticesLength] : null; - unityMeshData.Uv1 = firstPrim.Attributes.ContainsKey(SemanticProperties.TEXCOORD_0) + unityMeshData.Uv1 = attributes.Contains(SemanticProperties.TEXCOORD_0) ? new Vector2[verticesLength] : null; - unityMeshData.Uv2 = firstPrim.Attributes.ContainsKey(SemanticProperties.TEXCOORD_1) + unityMeshData.Uv2 = attributes.Contains(SemanticProperties.TEXCOORD_1) ? new Vector2[verticesLength] : null; - unityMeshData.Uv3 = firstPrim.Attributes.ContainsKey(SemanticProperties.TEXCOORD_2) + unityMeshData.Uv3 = attributes.Contains(SemanticProperties.TEXCOORD_2) ? new Vector2[verticesLength] : null; - unityMeshData.Uv4 = firstPrim.Attributes.ContainsKey(SemanticProperties.TEXCOORD_3) + unityMeshData.Uv4 = attributes.Contains(SemanticProperties.TEXCOORD_3) ? new Vector2[verticesLength] : null; - unityMeshData.Colors = firstPrim.Attributes.ContainsKey(SemanticProperties.COLOR_0) + unityMeshData.Colors = attributes.Contains(SemanticProperties.COLOR_0) ? new Color[verticesLength] : null; - unityMeshData.BoneWeights = firstPrim.Attributes.ContainsKey(SemanticProperties.WEIGHTS_0) + unityMeshData.BoneWeights = attributes.Contains(SemanticProperties.WEIGHTS_0) ? new BoneWeight[verticesLength] : null; } @@ -698,7 +711,7 @@ protected async Task ConstructUnityMesh(UnityMeshData unityMeshData, int meshInd private void AddBlendShapesToMesh(UnityMeshData unityMeshData, int meshIndex, Mesh mesh) { - if (unityMeshData.MorphTargetVertices != null) + if (unityMeshData.MorphTargetVertices != null && _gltfRoot.Meshes != null) { var gltfMesh = _gltfRoot.Meshes[meshIndex]; var firstPrim = gltfMesh.Primitives[0]; @@ -1328,6 +1341,10 @@ private void TransformTargets(ref Dictionary attribut private static void AddNewBufferAndViewToAccessor(byte[] data, Accessor accessor, GLTFRoot _gltfRoot) { + if (_gltfRoot.Buffers == null) + _gltfRoot.Buffers = new List(); + if (_gltfRoot.BufferViews == null) + _gltfRoot.BufferViews = new List(); _gltfRoot.Buffers.Add(new GLTFBuffer() { ByteLength = (uint) data.Length }); _gltfRoot.BufferViews.Add(new BufferView() { ByteLength = (uint) data.Length, ByteOffset = 0, Buffer = new BufferId() { Id = _gltfRoot.Buffers.Count, Root = _gltfRoot } }); accessor.BufferView = new BufferViewId() { Id = _gltfRoot.BufferViews.Count - 1, Root = _gltfRoot }; @@ -1361,5 +1378,53 @@ private static T[][] Allocate2dArray(uint x, uint y) for (var i = 0; i < x; i++) result[i] = new T[y]; return result; } + + private void CheckForMeshDuplicates() + { + if (_gltfRoot.Meshes == null) + return; + + Dictionary meshDuplicates = new Dictionary(); + + for (int meshIndex = 0; meshIndex < _gltfRoot.Meshes.Count; meshIndex++) + { + if (meshDuplicates.ContainsKey(meshIndex)) + continue; + + for (int i = meshIndex+1; i < _gltfRoot.Meshes.Count; i++) + { + + if (i == meshIndex) + continue; + if (_assetCache.MeshCache[i] == null) + continue; + + if (_assetCache.UnityMeshDataCache[i] == null + || _assetCache.UnityMeshDataCache[meshIndex] == null) + continue; + + var meshIsEqual = _assetCache.UnityMeshDataCache[i] + .IsEqual(_assetCache.UnityMeshDataCache[meshIndex]); + + if (meshIsEqual) + meshDuplicates[i] = meshIndex; + } + } + + foreach (var dm in meshDuplicates) + { + if (_gltfRoot.Nodes == null) continue; + for (int i = 0; i < _gltfRoot.Nodes.Count; i++) + { + if (_gltfRoot.Nodes[i].Mesh != null && _gltfRoot.Nodes[i].Mesh.Id == dm.Key) + { + if (_gltfRoot.Nodes[i].Weights == null && _gltfRoot.Meshes[dm.Value].Weights != null) + _gltfRoot.Nodes[i].Weights = _gltfRoot.Meshes[_gltfRoot.Nodes[i].Mesh.Id].Weights; + + _gltfRoot.Nodes[i].Mesh.Id = dm.Value; + } + } + } + } } } diff --git a/Runtime/Scripts/SceneImporter/ImporterTextures.cs b/Runtime/Scripts/SceneImporter/ImporterTextures.cs index b5f0e2e86..a527d8a89 100644 --- a/Runtime/Scripts/SceneImporter/ImporterTextures.cs +++ b/Runtime/Scripts/SceneImporter/ImporterTextures.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using GLTF.Schema; @@ -20,6 +21,7 @@ namespace UnityGLTF public partial class GLTFSceneImporter { internal const string EMPTY_TEXTURE_NAME_SUFFIX = " \0"; + private Dictionary _imageDeduplicationLinks; // Org Image ID -> distinct Image ID private class TextureData { @@ -34,8 +36,9 @@ private class TextureData private async Task CreateNotReferencedTexture(int index) { + if (Root.Textures == null) return; if (Root.Textures[index].Source != null - && Root.Images.Count > 0 + && Root.Images?.Count > 0 && Root.Images.Count > Root.Textures[index].Source.Id && string.IsNullOrEmpty(Root.Textures[index].Source.Value.Uri)) { @@ -70,7 +73,103 @@ private async Task FromTextureInfo(TextureInfo textureInfo, bool is return result; } + + private static int ComputeHash(byte[] data) + { + unchecked + { + const int p = 16777619; + int hash = (int)2166136261; + + for (int i = 0; i < data.Length; i++) + hash = (hash ^ data[i]) * p; + return hash; + } + } + + private Dictionary CollectImageHashes() + { + if (_gltfRoot.Images == null) return new Dictionary(); + Dictionary hashes = new Dictionary(); + + int index = -1; + foreach (var image in _gltfRoot.Images) + { + index++; + if (image.Uri == null) + { + if (image.BufferView == null) + continue; + + var stream = GetImageStream(image, -1); + if (stream == null || stream.Length == 0) + continue; + + // Create a hash for the stream data + var bufferData = new byte[stream.Length]; + stream.Read(bufferData, 0, bufferData.Length); + + int streamHash = ComputeHash(bufferData); + + hashes.Add(index, streamHash); + } + else + { + hashes.Add(index, image.Uri.GetHashCode()); + } + } + + return hashes; + } + + private void CheckForDuplicateImages() + { + var hashes = CollectImageHashes(); + var reverseHashes = new Dictionary(); + foreach (var h in hashes) + reverseHashes[h.Value] = h.Key; + + _imageDeduplicationLinks = new Dictionary(); + foreach (var h in hashes) + _imageDeduplicationLinks[h.Key] = reverseHashes[h.Value]; + } + + private Stream GetImageStream(GLTFImage image, int imageCacheIndex) + { + Stream stream = null; + if (image.Uri == null) + { + if (image.BufferView == null) + return null; + + var bufferView = image.BufferView.Value; + BufferCacheData bufferContents = _assetCache.BufferCache[bufferView.Buffer.Id]; + if (bufferContents.bufferData.IsCreated) + { + bufferContents.Stream.Position = bufferView.ByteOffset + bufferContents.ChunkOffset; + stream = new SubStream(bufferContents.Stream, 0, bufferView.ByteLength); + } + } + else + { + string uri = image.Uri; + + byte[] bufferData; + URIHelper.TryParseBase64(uri, out bufferData); + if (bufferData != null) + { + stream = new MemoryStream(bufferData, 0, bufferData.Length, false, true); + } + else + { + stream = _assetCache.ImageStreamCache[imageCacheIndex]; + } + } + + return stream; + } + protected async Task ConstructImage(GLTFImage image, int imageCacheIndex, bool markGpuOnly, bool isLinear, bool isNormal) { if (_assetCache.InvalidImageCache[imageCacheIndex]) @@ -78,33 +177,7 @@ protected async Task ConstructImage(GLTFImage image, int imageCacheIndex, bool m if (_assetCache.ImageCache[imageCacheIndex] == null) { - Stream stream = null; - if (image.Uri == null) - { - var bufferView = image.BufferView.Value; - BufferCacheData bufferContents = _assetCache.BufferCache[bufferView.Buffer.Id]; - if (bufferContents.bufferData.IsCreated) - { - bufferContents.Stream.Position = bufferView.ByteOffset + bufferContents.ChunkOffset; - stream = new SubStream(bufferContents.Stream, 0, bufferView.ByteLength); - } - } - else - { - string uri = image.Uri; - - byte[] bufferData; - URIHelper.TryParseBase64(uri, out bufferData); - if (bufferData != null) - { - stream = new MemoryStream(bufferData, 0, bufferData.Length, false, true); - } - else - { - stream = _assetCache.ImageStreamCache[imageCacheIndex]; - } - } - + Stream stream = GetImageStream(image, imageCacheIndex); await YieldOnTimeoutAndThrowOnLowMemory(); await ConstructUnityTexture(stream, markGpuOnly, isLinear, isNormal, image, imageCacheIndex); } @@ -141,12 +214,21 @@ protected async Task ConstructImageBuffer(GLTFTexture texture, int textureIndex) // With using KTX, we need to return a new Texture2D instance at the moment. Unity KTX package does not support loading into existing one async Task CheckMimeTypeAndLoadImage(GLTFImage image, Texture2D texture, NativeArray data, bool markGpuOnly, bool isLinear) { + bool textureWillBeCompressed = false; +#if UNITY_EDITOR + if (Context.SourceImporter != null) +#endif + { + if (_options.RuntimeTextureCompression != RuntimeTextureCompression.None) + textureWillBeCompressed = true; + } + switch (image.MimeType) { case "image/png": case "image/jpeg": // NOTE: the second parameter of LoadImage() marks non-readable, but we can't mark it until after we call Apply() - texture.LoadImage(data.ToArray(), markGpuOnly); + texture.LoadImage(data.ToArray(), markGpuOnly && !textureWillBeCompressed); break; case "image/exr": Debug.Log(LogType.Warning, $"EXR images are not supported. The texture {texture.name} won't be imported. File: {_gltfFileName}"); @@ -164,7 +246,7 @@ async Task CheckMimeTypeAndLoadImage(GLTFImage image, Texture2D textu #endif var ktxTexture = new KtxUnity.KtxTexture(); - var resultTextureData = await ktxTexture.LoadFromBytes(data, isLinear); + var resultTextureData = await ktxTexture.LoadFromBytes(data, isLinear, mipChain: GenerateMipMapsForTextures); texture = resultTextureData.texture; texture.name = textureName; } @@ -177,7 +259,7 @@ async Task CheckMimeTypeAndLoadImage(GLTFImage image, Texture2D textu } break; default: - texture.LoadImage(data.ToArray(), markGpuOnly); + texture.LoadImage(data.ToArray(), markGpuOnly && !textureWillBeCompressed); break; } @@ -189,6 +271,20 @@ async Task CheckMimeTypeAndLoadImage(GLTFImage image, Texture2D textu texture.wrapModeU = TextureWrapMode.Repeat; texture.filterMode = FilterMode.Bilinear; } +#if UNITY_EDITOR + if (Context.SourceImporter != null) +#endif + { + // Only when this import is not an Asset Import + + if (_options.RuntimeTextureCompression != RuntimeTextureCompression.None) + { + // Texture need to be readable to compress it + texture.Compress(_options.RuntimeTextureCompression == RuntimeTextureCompression.HighQuality); + if (markGpuOnly) + texture.Apply(true, true); + } + } await Task.CompletedTask; return texture; @@ -267,8 +363,7 @@ protected virtual async Task ConstructUnityTexture(Stream stream, bool markGpuOn texture = null; Debug.Log(LogType.Error, "Buffer file " + invalidStream.RelativeFilePath + " not found in path: " + invalidStream.AbsoluteFilePath+ $" (File: {_gltfFileName})"); } - else - if (_nativeBuffers.TryGetValue(stream, out var nativeData)) + else if (stream != null && _nativeBuffers.TryGetValue(stream, out var nativeData)) { var bufferView = await GetBufferData(image.BufferView.Value.Buffer); await YieldOnTimeoutAndThrowOnLowMemory(); @@ -286,7 +381,7 @@ protected virtual async Task ConstructUnityTexture(Stream stream, bool markGpuOn } } } - else + else if (stream != null) { byte[] buffer = new byte[stream.Length]; @@ -332,7 +427,15 @@ protected virtual int GetTextureSourceId(GLTFTexture texture) { return ((KHR_texture_basisu)texture.Extensions[KHR_texture_basisu.EXTENSION_NAME]).source.Id; } - return texture.Source?.Id ?? 0; + + int id = texture.Source?.Id ?? 0; + if (_imageDeduplicationLinks != null) + { + if (_imageDeduplicationLinks.TryGetValue(id, out int replacedId)) + id = replacedId; + } + + return id; } protected virtual bool IsTextureFlipped(GLTFTexture texture) diff --git a/Runtime/Scripts/SceneImporter/MaterialLibrary.cs b/Runtime/Scripts/SceneImporter/MaterialLibrary.cs new file mode 100644 index 000000000..6560d4038 --- /dev/null +++ b/Runtime/Scripts/SceneImporter/MaterialLibrary.cs @@ -0,0 +1,6 @@ +using UnityEngine; + +namespace UnityGLTF +{ + public class MaterialLibrary: ScriptableObject { } +} \ No newline at end of file diff --git a/Runtime/Scripts/SceneImporter/MaterialLibrary.cs.meta b/Runtime/Scripts/SceneImporter/MaterialLibrary.cs.meta new file mode 100644 index 000000000..f4ded5720 --- /dev/null +++ b/Runtime/Scripts/SceneImporter/MaterialLibrary.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dae4451576d948249604afd3847354bb +timeCreated: 1727343650 \ No newline at end of file diff --git a/Runtime/Scripts/SceneImporter/UnityMeshData.cs b/Runtime/Scripts/SceneImporter/UnityMeshData.cs new file mode 100644 index 000000000..dd20da156 --- /dev/null +++ b/Runtime/Scripts/SceneImporter/UnityMeshData.cs @@ -0,0 +1,119 @@ +using System.Collections.Generic; +using GLTF.Schema; +using UnityEngine; + +namespace UnityGLTF +{ + public class UnityMeshData + { + public bool[] subMeshDataCreated; + public Vector3[] Vertices; + public Vector3[] Normals; + public Vector4[] Tangents; + public Vector2[] Uv1; + public Vector2[] Uv2; + public Vector2[] Uv3; + public Vector2[] Uv4; + public Color[] Colors; + public BoneWeight[] BoneWeights; + + public Vector3[][] MorphTargetVertices; + public Vector3[][] MorphTargetNormals; + public Vector3[][] MorphTargetTangents; + + public MeshTopology[] Topology; + public DrawMode[] DrawModes; + public int[][] Indices; + + public HashSet alreadyAddedAccessors = new HashSet(); + public uint[] subMeshVertexOffset; + + public void Clear() + { + Vertices = null; + Normals = null; + Tangents = null; + Uv1 = null; + Uv2 = null; + Uv3 = null; + Uv4 = null; + Colors = null; + BoneWeights = null; + MorphTargetVertices = null; + MorphTargetNormals = null; + MorphTargetTangents = null; + Topology = null; + Indices = null; + subMeshVertexOffset = null; + } + + public bool IsEqual(UnityMeshData other) + { + bool CompareArray(T[] array1, T[] array2) + { + if (array1 == null && array2 == null) + return true; + if (array1 == array2) + return true; + if (array1?.Length != array2?.Length) + return false; + + for (int i = 0; i < array1.Length; i++) + { + if (!array1[i].Equals(array2[i])) + return false; + } + + return true; + } + + bool CompareArray2(T[][] array1, T[][] array2) + { + if (array1 == null && array2 == null) + return true; + if (array1 == array2) + return true; + if (array1?.Length != array2?.Length) + return false; + + for (int i = 0; i < array1.Length; i++) + { + if (array1[i] == null && array2[i] == null) + continue; + if (array1[i] == array2[i]) + continue; + + if (array1[i].Length != array2[i].Length) + return false; + + for (int j = 0; j < array1.Length; j++) + { + if (!array1[i][j].Equals(array2[i][j])) + return false; + } + } + + return true; + } + + if (!CompareArray(Vertices, other.Vertices) + || !CompareArray(Normals, other.Normals) + || !CompareArray(Tangents, other.Tangents) + || !CompareArray(Uv1, other.Uv1) + || !CompareArray(Uv2, other.Uv2) + || !CompareArray(Uv3, other.Uv3) + || !CompareArray(Uv4, other.Uv4) + || !CompareArray(Colors, other.Colors) + || !CompareArray(BoneWeights, other.BoneWeights) + || !CompareArray(Topology, other.Topology) + || !CompareArray(DrawModes, other.DrawModes) + || !CompareArray2(MorphTargetVertices, other.MorphTargetVertices) + || !CompareArray2(MorphTargetNormals, other.MorphTargetNormals) + || !CompareArray2(MorphTargetTangents, other.MorphTargetTangents) + || !CompareArray2(Indices, other.Indices)) + return false; + + return true; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/SceneImporter/UnityMeshData.cs.meta b/Runtime/Scripts/SceneImporter/UnityMeshData.cs.meta new file mode 100644 index 000000000..a10a6fa31 --- /dev/null +++ b/Runtime/Scripts/SceneImporter/UnityMeshData.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5142460d60f647e0b377dd3cc0c0a909 +timeCreated: 1724924750 \ No newline at end of file diff --git a/Runtime/Scripts/UniformMaps/PBRGraphMap.cs b/Runtime/Scripts/UniformMaps/PBRGraphMap.cs index b1076ac67..4dfc860e6 100644 --- a/Runtime/Scripts/UniformMaps/PBRGraphMap.cs +++ b/Runtime/Scripts/UniformMaps/PBRGraphMap.cs @@ -2,9 +2,9 @@ namespace UnityGLTF { - public class PBRGraphMap : BaseGraphMap, IMetalRoughUniformMap, IVolumeMap, ITransmissionMap, IIORMap, IIridescenceMap, ISpecularMap, IClearcoatMap, IDispersionMap + public class PBRGraphMap : BaseGraphMap, IMetalRoughUniformMap, IVolumeMap, ITransmissionMap, IIORMap, IIridescenceMap, ISpecularMap, IClearcoatMap, IDispersionMap, ISheenMap { - private const string PBRGraphGuid = "478ce3626be7a5f4ea58d6b13f05a2e4"; + internal const string PBRGraphGuid = "478ce3626be7a5f4ea58d6b13f05a2e4"; public PBRGraphMap() : this("UnityGLTF/PBRGraph") {} @@ -526,6 +526,79 @@ public float Dispersion get => _material.GetFloat("dispersion"); set => _material.SetFloat("dispersion", value); } + + public float SheenRoughnessFactor + { + get => _material.GetFloat("sheenRoughnessFactor"); + set => _material.SetFloat("sheenRoughnessFactor", value); + } + + public Color SheenColorFactor + { + get => _material.GetColor("sheenColorFactor"); + set => _material.SetColor("sheenColorFactor", value); + } + + public Texture SheenColorTexture + { + get => _material.GetTexture("sheenColorTexture"); + set => _material.SetTexture("sheenColorTexture", value); + } + + public double SheenColorTextureRotation + { + get => _material.GetFloat("sheenColorTextureRotation"); + set => _material.SetFloat("sheenColorTextureRotation", (float) value); + } + + public Vector2 SheenColorTextureOffset + { + get => _material.GetTextureOffset("sheenColorTexture"); + set => _material.SetTextureOffset("sheenColorTexture", value); + } + + public Vector2 SheenColorTextureScale + { + get => _material.GetTextureScale("sheenColorTexture"); + set => _material.SetTextureScale("sheenColorTexture", value); + } + + public int SheenColorTextureTexCoord + { + get => (int)_material.GetFloat("sheenColorTextureTexCoord"); + set => _material.SetFloat("sheenColorTextureTexCoord", (float) value); + } + + public Texture SheenRoughnessTexture + { + get => _material.GetTexture("sheenRoughnessTexture"); + set => _material.SetTexture("sheenRoughnessTexture", value); + } + + public double SheenRoughnessTextureRotation + { + get => _material.GetFloat("sheenRoughnessTextureRotation"); + set => _material.SetFloat("sheenRoughnessTextureRotation", (float) value); + } + + public Vector2 SheenRoughnessTextureOffset + { + get => _material.GetTextureOffset("sheenRoughnessTexture"); + set => _material.SetTextureOffset("sheenRoughnessTexture", value); + } + + public Vector2 SheenRoughnessTextureScale + { + get => _material.GetTextureScale("sheenRoughnessTexture"); + set => _material.SetTextureScale("sheenRoughnessTexture", value); + } + + public int SheenRoughnessTextureTexCoord + { + get => (int)_material.GetFloat("sheenRoughnessTextureTexCoord"); + set => _material.SetFloat("sheenRoughnessTextureTexCoord", (float) value); + } + /* Clearcoat Normal Texture currently not supported public Texture ClearcoatNormalTexture diff --git a/Runtime/Scripts/UniformMaps/UniformMap.cs b/Runtime/Scripts/UniformMaps/UniformMap.cs index 1e68f2f79..de99a421a 100644 --- a/Runtime/Scripts/UniformMaps/UniformMap.cs +++ b/Runtime/Scripts/UniformMaps/UniformMap.cs @@ -84,6 +84,34 @@ public interface ITransmissionMap : IMetalRoughUniformMap Vector2 TransmissionTextureScale { get; set; } int TransmissionTextureTexCoord { get; set; } } + + public interface ISheenMap : IMetalRoughUniformMap + { + float SheenRoughnessFactor { get; set; } + + Color SheenColorFactor { get; set; } + + Texture SheenColorTexture { get; set; } + + double SheenColorTextureRotation { get; set; } + + Vector2 SheenColorTextureOffset { get; set; } + + Vector2 SheenColorTextureScale { get; set; } + + int SheenColorTextureTexCoord { get; set; } + + Texture SheenRoughnessTexture { get; set; } + + double SheenRoughnessTextureRotation { get; set; } + + Vector2 SheenRoughnessTextureOffset { get; set; } + + Vector2 SheenRoughnessTextureScale { get; set; } + + int SheenRoughnessTextureTexCoord { get; set; } + + } public interface IDispersionMap : ITransmissionMap { diff --git a/Runtime/Scripts/UniformMaps/UnlitGraphMap.cs b/Runtime/Scripts/UniformMaps/UnlitGraphMap.cs index d40440bd6..ad5341529 100644 --- a/Runtime/Scripts/UniformMaps/UnlitGraphMap.cs +++ b/Runtime/Scripts/UniformMaps/UnlitGraphMap.cs @@ -4,7 +4,7 @@ namespace UnityGLTF { public class UnlitGraphMap : BaseGraphMap, IUnlitUniformMap { - private const string UnlitGraphGuid = "59541e6caf586ca4f96ccf48a4813a51"; + internal const string UnlitGraphGuid = "59541e6caf586ca4f96ccf48a4813a51"; public UnlitGraphMap() : this("UnityGLTF/UnlitGraph") {} #if !UNITY_2021_1_OR_NEWER diff --git a/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph b/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph new file mode 100644 index 000000000..bed15f1ea --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph @@ -0,0 +1,504 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "ac5263c74457497482f2da920e8fb514", + "m_Properties": [ + { + "m_Id": "7ee743d523e54c4b8ca04d0c47ed1ca0" + }, + { + "m_Id": "c02e5fa4cb8145c89a15c4d8ec10bbb7" + } + ], + "m_Keywords": [ + { + "m_Id": "20697f59ec314a63b44bf31c52e20ada" + } + ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "6e5f10acb14341a9b044d4563289542f" + } + ], + "m_Nodes": [ + { + "m_Id": "a6dbdc84b6ba4406bad382beb0d8fcdb" + }, + { + "m_Id": "3120af26e3b54fde97c64310eab10123" + }, + { + "m_Id": "d03aec4a794747ab8839610d81affe0e" + }, + { + "m_Id": "46633d27bc9743928c7af2581549bda5" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3120af26e3b54fde97c64310eab10123" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a6dbdc84b6ba4406bad382beb0d8fcdb" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "46633d27bc9743928c7af2581549bda5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3120af26e3b54fde97c64310eab10123" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d03aec4a794747ab8839610d81affe0e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3120af26e3b54fde97c64310eab10123" + }, + "m_SlotId": 2 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Sub Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "a6dbdc84b6ba4406bad382beb0d8fcdb" + }, + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0bd33350cd2b4876ad4663d23554f2cf", + "m_Id": 1, + "m_DisplayName": "Out_Vector4", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector4", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", + "m_ObjectId": "20697f59ec314a63b44bf31c52e20ada", + "m_Guid": { + "m_GuidSerialized": "1d5b1a6a-75f0-450b-9a60-e35df192360a" + }, + "m_Name": "MaterialX", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "MaterialX", + "m_DefaultReferenceName": "MATERIALX", + "m_OverrideReferenceName": "MATERIAL_X", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_KeywordType": 0, + "m_KeywordDefinition": 2, + "m_KeywordScope": 1, + "m_KeywordStages": 63, + "m_Entries": [], + "m_Value": 0, + "m_IsEditable": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "25d663ae75924bf5b5c4b6eadf515680", + "m_Id": 1, + "m_DisplayName": "On", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "On", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "2a5a515ab48f4c56ab5acd7404b113f2", + "m_Id": 2, + "m_DisplayName": "Off", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Off", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.KeywordNode", + "m_ObjectId": "3120af26e3b54fde97c64310eab10123", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MaterialX", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -256.5714416503906, + "y": -161.142822265625, + "width": 136.00001525878907, + "height": 119.42855072021485 + } + }, + "m_Slots": [ + { + "m_Id": "4f54bfc6ee584ff4baa450691ae87688" + }, + { + "m_Id": "25d663ae75924bf5b5c4b6eadf515680" + }, + { + "m_Id": "2a5a515ab48f4c56ab5acd7404b113f2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Keyword": { + "m_Id": "20697f59ec314a63b44bf31c52e20ada" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "46633d27bc9743928c7af2581549bda5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -390.8571472167969, + "y": -178.28570556640626, + "width": 90.85714721679688, + "height": 34.28570556640625 + } + }, + "m_Slots": [ + { + "m_Id": "a43d630e6a3448e48db89fc2d4cdb22b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "7ee743d523e54c4b8ca04d0c47ed1ca0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4f54bfc6ee584ff4baa450691ae87688", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "6e5f10acb14341a9b044d4563289542f", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "7ee743d523e54c4b8ca04d0c47ed1ca0" + }, + { + "m_Id": "c02e5fa4cb8145c89a15c4d8ec10bbb7" + }, + { + "m_Id": "20697f59ec314a63b44bf31c52e20ada" + } + ] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "7ee743d523e54c4b8ca04d0c47ed1ca0", + "m_Guid": { + "m_GuidSerialized": "3cb0cd83-a7a9-4b64-958e-cd52500a3ead" + }, + "m_Name": "on", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "on", + "m_DefaultReferenceName": "_on", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a43d630e6a3448e48db89fc2d4cdb22b", + "m_Id": 0, + "m_DisplayName": "on", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "a6dbdc84b6ba4406bad382beb0d8fcdb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Output", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -20.0, + "y": -200.0, + "width": 121.71429443359375, + "height": 78.28570556640625 + } + }, + "m_Slots": [ + { + "m_Id": "0bd33350cd2b4876ad4663d23554f2cf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "b61a2b0c16de4f9e850a4878cb1974d5", + "m_Id": 0, + "m_DisplayName": "off", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "c02e5fa4cb8145c89a15c4d8ec10bbb7", + "m_Guid": { + "m_GuidSerialized": "593c34ad-595d-4873-9906-a721e2b263af" + }, + "m_Name": "off", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "off", + "m_DefaultReferenceName": "_off", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d03aec4a794747ab8839610d81affe0e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -390.85711669921877, + "y": -73.71426391601563, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b61a2b0c16de4f9e850a4878cb1974d5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c02e5fa4cb8145c89a15c4d8ec10bbb7" + } +} + diff --git a/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph.meta b/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph.meta new file mode 100644 index 000000000..77b9b0b17 --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/MaterialXColor.shadersubgraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ecd8fe7a9dd0c844987e0e6f5dbca66b +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} diff --git a/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph b/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph new file mode 100644 index 000000000..03f4d3758 --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph @@ -0,0 +1,470 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "1a98fffdf09b42ca90d4b96033fc9706", + "m_Properties": [ + { + "m_Id": "c3e74a32d60f4ef5a5a10f674fa9b14b" + }, + { + "m_Id": "f8a9cea70de84d859e899b08a805908e" + } + ], + "m_Keywords": [ + { + "m_Id": "1eec88dd76764e758b763b70ec29197c" + } + ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "a58f774cb1c348d48bd5c32277ca08e1" + } + ], + "m_Nodes": [ + { + "m_Id": "d7e2bd379f0048cfa5e24e1862683687" + }, + { + "m_Id": "124dc2d455d64111a7e426821b98b39a" + }, + { + "m_Id": "5d6b76e4b4e4465ba05df1369c172236" + }, + { + "m_Id": "91df0436bd38468ca134052a19f1e7c8" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "124dc2d455d64111a7e426821b98b39a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d7e2bd379f0048cfa5e24e1862683687" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5d6b76e4b4e4465ba05df1369c172236" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "124dc2d455d64111a7e426821b98b39a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "91df0436bd38468ca134052a19f1e7c8" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "124dc2d455d64111a7e426821b98b39a" + }, + "m_SlotId": 2 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Sub Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "d7e2bd379f0048cfa5e24e1862683687" + }, + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.KeywordNode", + "m_ObjectId": "124dc2d455d64111a7e426821b98b39a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MaterialX", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -161.71432495117188, + "y": -46.28571701049805, + "width": 136.00003051757813, + "height": 119.42855834960938 + } + }, + "m_Slots": [ + { + "m_Id": "b03480a90118473f8a9bfdef2e9211f5" + }, + { + "m_Id": "f700dc5f61814f4981c77e07a781332c" + }, + { + "m_Id": "42bded8050e54842b9eea4889a0facca" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Keyword": { + "m_Id": "1eec88dd76764e758b763b70ec29197c" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", + "m_ObjectId": "1eec88dd76764e758b763b70ec29197c", + "m_Guid": { + "m_GuidSerialized": "1d5b1a6a-75f0-450b-9a60-e35df192360a" + }, + "m_Name": "MaterialX", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "MaterialX", + "m_DefaultReferenceName": "MATERIALX", + "m_OverrideReferenceName": "MATERIAL_X", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_KeywordType": 0, + "m_KeywordDefinition": 2, + "m_KeywordScope": 1, + "m_KeywordStages": 63, + "m_Entries": [], + "m_Value": 0, + "m_IsEditable": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2747d0262ffb405490ce92216ff6bf1f", + "m_Id": 0, + "m_DisplayName": "on", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "42bded8050e54842b9eea4889a0facca", + "m_Id": 2, + "m_DisplayName": "Off", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Off", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5d6b76e4b4e4465ba05df1369c172236", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -390.3429260253906, + "y": -130.11428833007813, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "2747d0262ffb405490ce92216ff6bf1f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c3e74a32d60f4ef5a5a10f674fa9b14b" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "91df0436bd38468ca134052a19f1e7c8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -360.1143798828125, + "y": -46.65712356567383, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b5c835fb807646c497a2ebc4f5ad4449" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f8a9cea70de84d859e899b08a805908e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "a58f774cb1c348d48bd5c32277ca08e1", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "1eec88dd76764e758b763b70ec29197c" + }, + { + "m_Id": "c3e74a32d60f4ef5a5a10f674fa9b14b" + }, + { + "m_Id": "f8a9cea70de84d859e899b08a805908e" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b03480a90118473f8a9bfdef2e9211f5", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b5c835fb807646c497a2ebc4f5ad4449", + "m_Id": 0, + "m_DisplayName": "off", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "c3e74a32d60f4ef5a5a10f674fa9b14b", + "m_Guid": { + "m_GuidSerialized": "1db17dee-af74-4ea9-9434-abd16afecddf" + }, + "m_Name": "on", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "on", + "m_DefaultReferenceName": "_on", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "d7e2bd379f0048cfa5e24e1862683687", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Output", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 16.000017166137697, + "y": -124.57141876220703, + "width": 121.71424865722656, + "height": 78.28570556640625 + } + }, + "m_Slots": [ + { + "m_Id": "fc5cae9d1cf44ba694eb93817bdaf605" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f700dc5f61814f4981c77e07a781332c", + "m_Id": 1, + "m_DisplayName": "On", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "On", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "f8a9cea70de84d859e899b08a805908e", + "m_Guid": { + "m_GuidSerialized": "87733e81-8ef3-4fbd-945f-ded9e5740f22" + }, + "m_Name": "off", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "off", + "m_DefaultReferenceName": "_off", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fc5cae9d1cf44ba694eb93817bdaf605", + "m_Id": 1, + "m_DisplayName": "result", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "result", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + diff --git a/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph.meta b/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph.meta new file mode 100644 index 000000000..49c900963 --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/MaterialXFloat.shadersubgraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 23cb9569ab894e84991a92e0d19a08f1 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} diff --git a/Runtime/Shaders/ShaderGraph/PBRGraph.shadergraph b/Runtime/Shaders/ShaderGraph/PBRGraph.shadergraph index b2600c70b..799c76b8d 100644 --- a/Runtime/Shaders/ShaderGraph/PBRGraph.shadergraph +++ b/Runtime/Shaders/ShaderGraph/PBRGraph.shadergraph @@ -230,6 +230,36 @@ }, { "m_Id": "758a2d34271948b5bbec3c69ff668cd6" + }, + { + "m_Id": "c6121b1054504ce3a7a4efba71bf9873" + }, + { + "m_Id": "6b364daf1f8b4ba3a33235d8c63e9109" + }, + { + "m_Id": "268e450c1cfd43939c6a4005b8eb7f15" + }, + { + "m_Id": "40e39f38f5f14be5b1f3e8a801e0d3c6" + }, + { + "m_Id": "5fab76e7df744539b4a2b338cc7dad44" + }, + { + "m_Id": "133666e5702e4ae38bad50224f5b3de0" + }, + { + "m_Id": "448558b95e074169a6ffe6fd7bfc2443" + }, + { + "m_Id": "a01314083833431cab82400f6eb05186" + }, + { + "m_Id": "ba933f4433144acb99e0e5830eedbecd" + }, + { + "m_Id": "cb6f985ac6a64e0c9a6b2ebc9c77a63c" } ], "m_Keywords": [ @@ -242,14 +272,14 @@ { "m_Id": "87f49076b11a43f2bc2c05c9154c93d4" }, - { - "m_Id": "97df40c83f5a4671a59db5b30b4c6316" - }, { "m_Id": "14eb9f49890e4fdf8e6c058bfe728c2c" }, { "m_Id": "13bf38d3fb4046ed924a4a13ca312622" + }, + { + "m_Id": "7423ab95bc1741d181ffdcb861c1f3fe" } ], "m_Dropdowns": [], @@ -631,9 +661,6 @@ { "m_Id": "7f4c33107f064c7da4d5577b6541188d" }, - { - "m_Id": "2796de049db74614be6bfe0317d3403f" - }, { "m_Id": "a0f839c542124faea4358fe4a8083771" }, @@ -956,10 +983,100 @@ "m_Id": "80d32cf72bff472093313451a88d59f3" }, { - "m_Id": "bd2bb5f1387341d28dbf190f4a0e97ef" + "m_Id": "ad74a2b685714e43868498ca3d91e475" }, { - "m_Id": "ad74a2b685714e43868498ca3d91e475" + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + { + "m_Id": "2ceecca278fb421e9b2a55c157f045ae" + }, + { + "m_Id": "208644bed0f04bbb800ea30a2297dd87" + }, + { + "m_Id": "20316d20817f4522ac33d753759d9116" + }, + { + "m_Id": "6bc6081927414a54967aba433d1a4cc2" + }, + { + "m_Id": "564dfe6617854c74924e85ddad9d2aee" + }, + { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + { + "m_Id": "2f9b446a6033419db864e58478f1c480" + }, + { + "m_Id": "260f3614e33a470b94fc38f693da5e93" + }, + { + "m_Id": "06db79095b024baf987eb00f1a802177" + }, + { + "m_Id": "ec0cf97e6f8a45b6bc27980002dcfbc3" + }, + { + "m_Id": "9fbbe30fbcec4c9bb5239bf2c89b1a63" + }, + { + "m_Id": "bf4bc0ecdc8f484db87384921a2e2c94" + }, + { + "m_Id": "644e2e1876414d4197b4275bb3a14b53" + }, + { + "m_Id": "179aaafeae5640429c34bb60b5d854cb" + }, + { + "m_Id": "155ed8d9e10844ff8bab213258a3348a" + }, + { + "m_Id": "49b1bd5f6fa04b1fb25b22f346e420b5" + }, + { + "m_Id": "6fb6e7d6f90d4821a59d6a33569cdde0" + }, + { + "m_Id": "0d9250851d7344b996fee94fc192455c" + }, + { + "m_Id": "15ca7962911647b682736363a9c89940" + }, + { + "m_Id": "cc76dfadf6814f48b483eb9dc8741fd7" + }, + { + "m_Id": "3a6505dec7884d83aeb5d7e5d93c999c" + }, + { + "m_Id": "47fc01e74c76464fadc132f66a0551db" + }, + { + "m_Id": "1e360608717640ae8620d9b1be6531c2" + }, + { + "m_Id": "ee6105bac71f48e5b99b59dceae5609b" + }, + { + "m_Id": "4bc913b499a44afda3a530605c0efa7a" + }, + { + "m_Id": "a9ff3e0cc2b54563b0a06d2a3504f3c7" + }, + { + "m_Id": "2fa5a1df3f734360ab26c4e53083a858" + }, + { + "m_Id": "61ca6ba5b39e428f8bb6d0dcdb61f005" + }, + { + "m_Id": "32097d5b1434427898a16ac03de4df35" } ], "m_GroupDatas": [ @@ -983,6 +1100,9 @@ }, { "m_Id": "48ae037d1cdf40a79177e5e96ce6fb3d" + }, + { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" } ], "m_StickyNoteDatas": [ @@ -1104,6 +1224,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "06db79095b024baf987eb00f1a802177" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + "m_SlotId": -1162300524 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1146,6 +1280,34 @@ "m_SlotId": -725852216 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6bc6081927414a54967aba433d1a4cc2" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6bc6081927414a54967aba433d1a4cc2" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1230,6 +1392,34 @@ "m_SlotId": 1309511136 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0d9250851d7344b996fee94fc192455c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1e360608717640ae8620d9b1be6531c2" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0d9250851d7344b996fee94fc192455c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ee6105bac71f48e5b99b59dceae5609b" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1328,6 +1518,48 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "155ed8d9e10844ff8bab213258a3348a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": -1162300524 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "15ca7962911647b682736363a9c89940" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5b26a590f6aa45b99a84a717567a74b0" + }, + "m_SlotId": 3 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "15ca7962911647b682736363a9c89940" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f04debede3c04da5aed9738b7794df17" + }, + "m_SlotId": 3 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1356,6 +1588,20 @@ "m_SlotId": 1470722099 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "179aaafeae5640429c34bb60b5d854cb" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": -725852216 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1426,6 +1672,34 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1e360608717640ae8620d9b1be6531c2" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15ca7962911647b682736363a9c89940" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1e360608717640ae8620d9b1be6531c2" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a6505dec7884d83aeb5d7e5d93c999c" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1510,6 +1784,34 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "20316d20817f4522ac33d753759d9116" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + "m_SlotId": 1491009813 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "208644bed0f04bbb800ea30a2297dd87" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "192a2fa94873447f8287e671a84cfef5" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1625,15 +1927,15 @@ { "m_OutputSlot": { "m_Node": { - "m_Id": "2796de049db74614be6bfe0317d3403f" + "m_Id": "260f3614e33a470b94fc38f693da5e93" }, "m_SlotId": 0 }, "m_InputSlot": { "m_Node": { - "m_Id": "1fd92dcb775e44539582c91fa2d715ee" + "m_Id": "0845a41c58b64028ae98f71e3c49221d" }, - "m_SlotId": 1 + "m_SlotId": -725852216 } }, { @@ -1692,6 +1994,20 @@ "m_SlotId": 1470722099 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2ceecca278fb421e9b2a55c157f045ae" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6fb6e7d6f90d4821a59d6a33569cdde0" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1720,6 +2036,20 @@ "m_SlotId": -1162300524 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2dc0377e855949349c7a1052f7e3ff6c" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "20316d20817f4522ac33d753759d9116" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1734,6 +2064,48 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2f9b446a6033419db864e58478f1c480" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + "m_SlotId": -532409878 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2fa5a1df3f734360ab26c4e53083a858" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7bb3ca3024ad410f8014cc5f609eb114" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "32097d5b1434427898a16ac03de4df35" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "61ca6ba5b39e428f8bb6d0dcdb61f005" + }, + "m_SlotId": 1568544868 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1818,6 +2190,20 @@ "m_SlotId": -532409878 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3a6505dec7884d83aeb5d7e5d93c999c" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "47fc01e74c76464fadc132f66a0551db" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1930,6 +2316,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "47fc01e74c76464fadc132f66a0551db" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cc76dfadf6814f48b483eb9dc8741fd7" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1953,11 +2353,25 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "7bb3ca3024ad410f8014cc5f609eb114" + "m_Id": "32097d5b1434427898a16ac03de4df35" }, "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "48e1f0f7e59646d1a499fe64fa9ee1f5" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "61ca6ba5b39e428f8bb6d0dcdb61f005" + }, + "m_SlotId": 857709315 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1986,6 +2400,34 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "49b1bd5f6fa04b1fb25b22f346e420b5" + }, + "m_SlotId": 7 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6fb6e7d6f90d4821a59d6a33569cdde0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4bc913b499a44afda3a530605c0efa7a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "035426df75f84f88aca26e0e30c92b50" + }, + "m_SlotId": 3 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2098,6 +2540,20 @@ "m_SlotId": 1309511136 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "564dfe6617854c74924e85ddad9d2aee" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + "m_SlotId": 1128211854 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2308,6 +2764,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "61ca6ba5b39e428f8bb6d0dcdb61f005" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2fa5a1df3f734360ab26c4e53083a858" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2406,6 +2876,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "644e2e1876414d4197b4275bb3a14b53" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": 1309511136 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2476,6 +2960,20 @@ "m_SlotId": -1162300524 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6bc6081927414a54967aba433d1a4cc2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "564dfe6617854c74924e85ddad9d2aee" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2504,6 +3002,20 @@ "m_SlotId": -725852216 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6fb6e7d6f90d4821a59d6a33569cdde0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + "m_SlotId": 661176540 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3274,6 +3786,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9ecb55f770a6449c8eaa8094328a5b01" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a9ff3e0cc2b54563b0a06d2a3504f3c7" + }, + "m_SlotId": -2010648849 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3288,6 +3814,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9fbbe30fbcec4c9bb5239bf2c89b1a63" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "564dfe6617854c74924e85ddad9d2aee" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3297,7 +3837,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "2796de049db74614be6bfe0317d3403f" + "m_Id": "1fd92dcb775e44539582c91fa2d715ee" }, "m_SlotId": 1 } @@ -3456,6 +3996,48 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a9ff3e0cc2b54563b0a06d2a3504f3c7" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9b2840bea8984c22acc50b45cb5c235e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "49b1bd5f6fa04b1fb25b22f346e420b5" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "49b1bd5f6fa04b1fb25b22f346e420b5" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3512,6 +4094,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "208644bed0f04bbb800ea30a2297dd87" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3703,9 +4299,23 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "192a2fa94873447f8287e671a84cfef5" + "m_Id": "208644bed0f04bbb800ea30a2297dd87" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba7ecde994b4474184c1c30ed4439bb3" }, "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ad76d5c5b88d460d9862201316b82a76" + }, + "m_SlotId": -312577270 } }, { @@ -3722,6 +4332,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba9a2ca04ce041e38e549ca34918e30c" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "32097d5b1434427898a16ac03de4df35" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3764,6 +4388,20 @@ "m_SlotId": -725852216 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bf4bc0ecdc8f484db87384921a2e2c94" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ab8852869aed43e4b1f698bac31c6b78" + }, + "m_SlotId": -532409878 + } + }, { "m_OutputSlot": { "m_Node": { @@ -3904,20 +4542,6 @@ "m_SlotId": 0 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "c63eb0c45cd446faafe694bb84a8a9d3" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "2796de049db74614be6bfe0317d3403f" - }, - "m_SlotId": 2 - } - }, { "m_OutputSlot": { "m_Node": { @@ -4016,6 +4640,34 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cc76dfadf6814f48b483eb9dc8741fd7" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "49b1bd5f6fa04b1fb25b22f346e420b5" + }, + "m_SlotId": 3 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cc76dfadf6814f48b483eb9dc8741fd7" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6bc6081927414a54967aba433d1a4cc2" + }, + "m_SlotId": 3 + } + }, { "m_OutputSlot": { "m_Node": { @@ -4389,9 +5041,9 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "9b2840bea8984c22acc50b45cb5c235e" + "m_Id": "a9ff3e0cc2b54563b0a06d2a3504f3c7" }, - "m_SlotId": 1 + "m_SlotId": -1618224757 } }, { @@ -4548,6 +5200,34 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ec0cf97e6f8a45b6bc27980002dcfbc3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0845a41c58b64028ae98f71e3c49221d" + }, + "m_SlotId": 1309511136 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ee6105bac71f48e5b99b59dceae5609b" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4bc913b499a44afda3a530605c0efa7a" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -4761,8 +5441,8 @@ ], "m_VertexContext": { "m_Position": { - "x": 3087.0, - "y": 321.0 + "x": 3487.42822265625, + "y": 292.0000305175781 }, "m_Blocks": [ { @@ -4778,8 +5458,8 @@ }, "m_FragmentContext": { "m_Position": { - "x": 3087.000244140625, - "y": 610.0 + "x": 3487.42822265625, + "y": 581.1429443359375 }, "m_Blocks": [ { @@ -4833,7 +5513,6 @@ "m_OutputNode": { "m_Id": "" }, - "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "de2d39e22ef549f58ed7b2a1f989a770" @@ -5077,7 +5756,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5092,6 +5770,21 @@ "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "02fd5b3c07d849908f6f5c22a67b7efa", + "m_Id": 0, + "m_DisplayName": "Sheen Roughness Map UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -5164,15 +5857,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -5201,7 +5892,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5211,6 +5901,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "03aefff64b414049b75da59b2bfbd547", + "m_Id": 1309511136, + "m_DisplayName": "LegacyST", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_LegacyST", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5259,7 +5974,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5281,7 +5995,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5354,13 +6067,37 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0480ed265f294a5eb631f0f7670f543d", + "m_Id": 0, + "m_DisplayName": "Sheen Color Map Tiling/Scale", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1Node", @@ -5396,7 +6133,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5404,6 +6140,31 @@ "m_Value": 0.0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "056422219f2a4621bf375e03569453c3", + "m_Id": 0, + "m_DisplayName": "Sheen Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -5440,7 +6201,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5488,26 +6248,15 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "0663969fd47346fabe593928bb40b508", - "m_Id": 2, - "m_DisplayName": "Off", + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "06627f41917c456fb6b4550c3c97ec42", + "m_Id": 0, + "m_DisplayName": "", "m_SlotType": 0, "m_Hidden": false, - "m_ShaderOutputName": "Off", + "m_ShaderOutputName": "", "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } + "m_BareResource": false } { @@ -5549,13 +6298,47 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "06db79095b024baf987eb00f1a802177", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2534.85693359375, + "y": -1109.1427001953125, + "width": 184.0, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "45f1a15a0fd441918ad227eda12645b9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "a01314083833431cab82400f6eb05186" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -5568,10 +6351,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1098.0001220703125, - "y": -345.0000305175781, - "width": 165.9998779296875, - "height": 34.0 + "x": 1272.0, + "y": -349.7143249511719, + "width": 166.2857666015625, + "height": 34.285736083984378 } }, "m_Slots": [ @@ -5582,7 +6365,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5633,7 +6415,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5693,7 +6474,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5703,6 +6483,73 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "0845a41c58b64028ae98f71e3c49221d", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "TextureTransform", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2739.999755859375, + "y": -1171.428466796875, + "width": 251.428466796875, + "height": 168.57147216796876 + } + }, + "m_Slots": [ + { + "m_Id": "2cdcb2d22aeb47159f93c91f4709c35b" + }, + { + "m_Id": "28ba9c9d9be24eeabff050fe23927b38" + }, + { + "m_Id": "437cef8b49224153b58dc3257a8e1c80" + }, + { + "m_Id": "72f007094c274dc789f6760f5f366dbf" + }, + { + "m_Id": "a4be13d8ece344e1ad9c8e19b20d9a09" + }, + { + "m_Id": "556c4c89ef1c4c06b49ba1e9cd00c0db" + }, + { + "m_Id": "88b5fda030624160b20aa58383896196" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"8ecb70019a63796448768b1124086ef5\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "83a6556e-d78a-45f4-b8a2-13076ccdab77", + "0c456893-e07e-4608-8121-3220a4f6c3be", + "b3d81d39-5c6c-4c82-9d1f-36795cedd43c", + "5b31af93-5974-4d7f-aa6a-8144a78d8bb2", + "277be5c3-34fc-4771-8834-d5c25768d2ec" + ], + "m_PropertyIds": [ + -1226117840, + -725852216, + -1162300524, + -532409878, + 1309511136 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -6005,7 +6852,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6123,7 +6969,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6189,7 +7034,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6246,7 +7090,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6309,7 +7152,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6332,7 +7174,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -6398,10 +7239,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1037.0, - "y": -242.0000457763672, - "width": 227.0, - "height": 34.0 + "x": 1210.857177734375, + "y": -246.85716247558595, + "width": 227.4285888671875, + "height": 34.285736083984378 } }, "m_Slots": [ @@ -6412,7 +7253,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6422,6 +7262,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateNode", + "m_ObjectId": "0d9250851d7344b996fee94fc192455c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sampler State", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3591.4287109375, + "y": -2232.571533203125, + "width": 146.285888671875, + "height": 140.0 + } + }, + "m_Slots": [ + { + "m_Id": "1f68d24eb14041f78d398236de5cf6f1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_filter": 0, + "m_wrap": 0, + "m_aniso": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6463,7 +7338,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6473,6 +7347,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0df976d9c8cd490d99b22681172818b5", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -6488,7 +7377,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6580,7 +7468,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6629,7 +7516,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6681,7 +7567,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6728,7 +7613,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6777,10 +7661,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 575.0000610351563, - "y": 620.0000610351563, - "width": 130.00006103515626, - "height": 142.0 + "x": 932.6666870117188, + "y": 580.0, + "width": 131.33331298828126, + "height": 143.99993896484376 } }, "m_Slots": [ @@ -6804,7 +7688,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6874,6 +7757,32 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "12e3d414d807449f9bdf5dba45ceb8be", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "1308385b200743ec982bcef4496a561a", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6889,6 +7798,35 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "133666e5702e4ae38bad50224f5b3de0", + "m_Guid": { + "m_GuidSerialized": "de1df3be-ec18-4433-ae3f-c2ceb294a03f" + }, + "m_Name": "Sheen Roughness Map", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Roughness Map", + "m_DefaultReferenceName": "_Sheen_Roughness_Map", + "m_OverrideReferenceName": "sheenRoughnessTexture", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", @@ -6901,10 +7839,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1320.0, - "y": 552.0, - "width": 251.0, - "height": 166.00006103515626 + "x": 1493.7142333984375, + "y": 546.8571166992188, + "width": 251.4285888671875, + "height": 168.571533203125 } }, "m_Slots": [ @@ -6933,7 +7871,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6972,7 +7909,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 1, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -7019,6 +7955,31 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "13d926debe19476b9ebfd708c3f26aee", + "m_Id": 1, + "m_DisplayName": "Out_Vector4", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector4", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -7034,7 +7995,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7112,7 +8072,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -7137,7 +8096,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7162,10 +8120,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1806.000244140625, - "y": 467.9999694824219, - "width": 129.9998779296875, - "height": 118.00003051757813 + "x": 1980.0001220703125, + "y": 462.857177734375, + "width": 131.4283447265625, + "height": 119.4285888671875 } }, "m_Slots": [ @@ -7186,7 +8144,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7217,6 +8174,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "155ed8d9e10844ff8bab213258a3348a", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2497.714111328125, + "y": -640.5714111328125, + "width": 213.714111328125, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "02fd5b3c07d849908f6f5c22a67b7efa" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "cb6f985ac6a64e0c9a6b2ebc9c77a63c" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -7265,6 +8257,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "15ca7962911647b682736363a9c89940", + "m_Group": { + "m_Id": "760282c93700475d93b783b72005f9f6" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -507.4284973144531, + "y": -1758.857177734375, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "4340ab691331412c853f16be9463fa56" + }, + { + "m_Id": "58c47aba476749308994c8345156679c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -7322,7 +8349,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7389,13 +8415,47 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "179aaafeae5640429c34bb60b5d854cb", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2473.142578125, + "y": -674.8570556640625, + "width": 241.142822265625, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "bd84a5cb83a540a8bc211f4c5e208a68" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ba933f4433144acb99e0e5830eedbecd" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -7482,6 +8542,31 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "18923aa7e3354178a05c53d73891c14b", + "m_Id": 1, + "m_DisplayName": "Out_Vector4", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector4", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -7508,7 +8593,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7544,7 +8628,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7584,7 +8667,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7623,7 +8705,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7631,6 +8712,21 @@ "m_SerializedDescriptor": "SurfaceDescription.BaseColor" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "19436ee68ccc482f8468f3ff552b1bc5", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7720,7 +8816,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7730,6 +8825,24 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "1a11b5a8d93d4a77853bcfa9ff149641", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -7793,7 +8906,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7867,7 +8979,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7895,7 +9006,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7993,13 +9103,36 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1c84f49930364df39af1439b108606d8", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8083,7 +9216,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -8144,6 +9276,54 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "1e360608717640ae8620d9b1be6531c2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1214.8570556640625, + "y": -2116.571533203125, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "06627f41917c456fb6b4550c3c97ec42" + }, + { + "m_Id": "b830d9c6405445978bddc695b4adbcd1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "1e480502a5634d95aa885682d9694b46", + "m_Id": 0, + "m_DisplayName": "Sheen Color Map", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -8159,7 +9339,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8231,7 +9410,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8338,13 +9516,25 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "1f68d24eb14041f78d398236de5cf6f1", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -8357,10 +9547,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1815.0001220703125, - "y": -259.0, - "width": 130.0, - "height": 118.00003051757813 + "x": 1988.5712890625, + "y": -264.0, + "width": 131.4287109375, + "height": 119.4285888671875 } }, "m_Slots": [ @@ -8381,7 +9571,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8401,6 +9590,157 @@ "m_BareResource": false } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.TransformNode", + "m_ObjectId": "20316d20817f4522ac33d753759d9116", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Transform", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2673.714599609375, + "y": -131.42855834960938, + "width": 213.714111328125, + "height": 159.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "91cff9786e1d4059b498202188ee6c15" + }, + { + "m_Id": "3a848b024095415f852cef1953be3d29" + } + ], + "synonyms": [ + "world", + "tangent", + "object", + "view", + "screen", + "convert" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Conversion": { + "from": 3, + "to": 2 + }, + "m_ConversionType": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "20391c482d974088b0a624c406a2dc15", + "m_Id": -1162300524, + "m_DisplayName": "UV Channel", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_UV_Channel", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2068eb2ce25b4ea18cc5f480e66c2579", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.KeywordNode", + "m_ObjectId": "208644bed0f04bbb800ea30a2297dd87", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Enable Sheen", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3281.71435546875, + "y": 40.571414947509769, + "width": 140.0, + "height": 119.42860412597656 + } + }, + "m_Slots": [ + { + "m_Id": "858b8788d52043ecbb70d9701939a979" + }, + { + "m_Id": "3e18a2dcd7404b02872611c6ada4d792" + }, + { + "m_Id": "5b3a8d5fa48a4d469fe065c1620d5705" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Keyword": { + "m_Id": "7423ab95bc1741d181ffdcb861c1f3fe" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", @@ -8481,7 +9821,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8532,7 +9871,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -8566,7 +9904,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8619,7 +9956,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8649,6 +9985,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "234e484c898b41f39f9905b26926ae1b", + "m_Id": 857709315, + "m_DisplayName": "off", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_off", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8711,15 +10062,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -8777,21 +10126,6 @@ "m_BareResource": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "24f62832f28f4ffaa3e6a6a542188180", - "m_Id": 3, - "m_DisplayName": "Texel Width", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Texel Width", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -8807,7 +10141,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8845,6 +10178,41 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "260f3614e33a470b94fc38f693da5e93", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2499.999755859375, + "y": -1141.714111328125, + "width": 211.428466796875, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "771f1ff64fd44eca8cabf1f59bf290eb" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "40e39f38f5f14be5b1f3e8a801e0d3c6" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8878,6 +10246,35 @@ "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "268e450c1cfd43939c6a4005b8eb7f15", + "m_Guid": { + "m_GuidSerialized": "f23d52ab-0620-4719-9ac5-4ec09911e1b5" + }, + "m_Name": "Sheen Color Map", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Color Map", + "m_DefaultReferenceName": "_Sheen_Color_Map", + "m_OverrideReferenceName": "sheenColorTexture", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8942,48 +10339,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.KeywordNode", - "m_ObjectId": "2796de049db74614be6bfe0317d3403f", - "m_Group": { - "m_Id": "c1f6d9e695904fea9b3abdc1e683f2c8" - }, - "m_Name": "Enable Vertex Colors", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 1703.0, - "y": -66.00000762939453, - "width": 166.0001220703125, - "height": 117.99998474121094 - } - }, - "m_Slots": [ - { - "m_Id": "5d7fea3e25aa4c32aa1b8057007a7cea" - }, - { - "m_Id": "eef506e16f0d4e7fabba8e363f9f7b5b" - }, - { - "m_Id": "0663969fd47346fabe593928bb40b508" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Keyword": { - "m_Id": "97df40c83f5a4671a59db5b30b4c6316" - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -9060,6 +10415,54 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2860589ea2ff4a9f962a85d381869329", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -9085,6 +10488,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "28ba9c9d9be24eeabff050fe23927b38", + "m_Id": -725852216, + "m_DisplayName": "Rotation", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Rotation", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubtractNode", @@ -9122,7 +10540,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9246,7 +10663,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9272,17 +10688,50 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "2a13ae19c696410baebf400e7205ea32", - "m_Id": 4, - "m_DisplayName": "Texel Height", + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2a4a83f8ee174959b0a66b0f1765c63c", + "m_Id": 2, + "m_DisplayName": "Out", "m_SlotType": 1, "m_Hidden": false, - "m_ShaderOutputName": "Texel Height", + "m_ShaderOutputName": "Out", "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } } { @@ -9306,6 +10755,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2ac62981fe5f40dbaaa31a84929e0bad", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -9353,8 +10817,7 @@ } ], "m_CustomEditorGUI": "", - "m_SupportVFX": false, - "m_SupportComputeForVertexSetup": false + "m_SupportVFX": false } { @@ -9372,7 +10835,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -9604,7 +11066,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9614,6 +11075,59 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "2cdcb2d22aeb47159f93c91f4709c35b", + "m_Id": -532409878, + "m_DisplayName": "Tex", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Tex", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2ceecca278fb421e9b2a55c157f045ae", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3018.85693359375, + "y": -492.5714111328125, + "width": 169.142822265625, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "40939e7870f04b0cbf64d551d17c440c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "6b364daf1f8b4ba3a33235d8c63e9109" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -9640,7 +11154,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9724,7 +11237,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9760,7 +11272,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9780,10 +11291,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1982.0, - "y": 105.0, - "width": 166.0, - "height": 118.0 + "x": 2156.0, + "y": 100.00003051757813, + "width": 166.857177734375, + "height": 119.42851257324219 } }, "m_Slots": [ @@ -9802,7 +11313,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9824,6 +11334,54 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2e2300e51dd64a23a1109cc2a9019951", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -9884,7 +11442,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -9957,6 +11514,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2f9b446a6033419db864e58478f1c480", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2510.857177734375, + "y": -1193.7142333984375, + "width": 173.142822265625, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "1e480502a5634d95aa885682d9694b46" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "268e450c1cfd43939c6a4005b8eb7f15" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -9981,6 +11573,62 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "2fa5a1df3f734360ab26c4e53083a858", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2867.4287109375, + "y": 137.14285278320313, + "width": 55.999755859375, + "height": 23.999969482421876 + } + }, + "m_Slots": [ + { + "m_Id": "748addc8c7a84255bfff4d2b1bedcb6b" + }, + { + "m_Id": "1c84f49930364df39af1439b108606d8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "2fb37bc34d8f40dbab40a6a1c1ac7d82", + "m_Id": 1, + "m_DisplayName": "Transformed_UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Transformed_UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -10035,7 +11683,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10111,7 +11758,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10126,6 +11772,48 @@ "m_ColorMode": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "32097d5b1434427898a16ac03de4df35", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2524.0, + "y": -10.857157707214356, + "width": 126.857421875, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "978637b1ea44411c82f4e3368693ebcc" + }, + { + "m_Id": "420b7372a91f4db28fb96f1269c37a72" + }, + { + "m_Id": "2a4a83f8ee174959b0a66b0f1765c63c" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.LerpNode", @@ -10165,7 +11853,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10184,10 +11871,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1124.0, - "y": 188.99998474121095, - "width": 157.0, - "height": 34.00001525878906 + "x": 1297.7142333984375, + "y": 183.99996948242188, + "width": 157.71435546875, + "height": 34.28569030761719 } }, "m_Slots": [ @@ -10198,7 +11885,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10234,7 +11920,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10349,7 +12034,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10429,42 +12113,103 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3415bbe6c0a64acd9bcc17eaddaf7f56", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", - "m_ObjectId": "3508add16f0344e48e568d30a22c17da", - "m_Id": 3, - "m_DisplayName": "Tex", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Tex", - "m_StageCapability": 3, - "m_BareResource": false -} - +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "3415bbe6c0a64acd9bcc17eaddaf7f56", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "3475fd67016a4f3185ff74ede9f7db0a", + "m_Id": 3, + "m_DisplayName": "Tex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Tex", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "3508add16f0344e48e568d30a22c17da", + "m_Id": 3, + "m_DisplayName": "Tex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Tex", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "353c46aba44640a78881df192dd21ed6", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -10489,6 +12234,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "35b8000f15fd404683d3b4af8578acc4", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -10648,7 +12408,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10752,7 +12511,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10786,6 +12544,64 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "3a6505dec7884d83aeb5d7e5d93c999c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1670.2857666015625, + "y": -1992.5714111328125, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "1308385b200743ec982bcef4496a561a" + }, + { + "m_Id": "4a680c9007e54ccea942a4f4f81d6330" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "3a848b024095415f852cef1953be3d29", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -10812,7 +12628,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11042,7 +12857,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11097,7 +12911,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11144,7 +12957,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11238,7 +13050,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -11316,7 +13127,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11329,6 +13139,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3e18a2dcd7404b02872611c6ada4d792", + "m_Id": 1, + "m_DisplayName": "On", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "On", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -11344,7 +13178,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11402,7 +13235,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11491,7 +13323,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11595,6 +13426,48 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "40939e7870f04b0cbf64d551d17c440c", + "m_Id": 0, + "m_DisplayName": "Sheen Roughness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "40e39f38f5f14be5b1f3e8a801e0d3c6", + "m_Guid": { + "m_GuidSerialized": "ccaa2e0a-b296-4bfe-af21-1fbb51e5973a" + }, + "m_Name": "Sheen Color Map Rotation", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Color Map Rotation", + "m_DefaultReferenceName": "_Sheen_Color_Map_Rotation", + "m_OverrideReferenceName": "sheenColorTextureRotation", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", @@ -11622,7 +13495,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11661,7 +13533,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11714,6 +13585,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "41f6dbc9558a43c19d46d416ae25d88a", + "m_Id": 1, + "m_DisplayName": "result", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "result", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11729,6 +13615,67 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "420b7372a91f4db28fb96f1269c37a72", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "427e6ba1e14e4203b562cb653e0b4210", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -11769,7 +13716,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11806,7 +13752,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11819,6 +13764,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "4340ab691331412c853f16be9463fa56", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -11867,6 +13825,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "437cef8b49224153b58dc3257a8e1c80", + "m_Id": -1162300524, + "m_DisplayName": "UV Channel", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_UV_Channel", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -11914,7 +13887,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11957,6 +13929,33 @@ "m_DefaultType": 0 } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", + "m_ObjectId": "448558b95e074169a6ffe6fd7bfc2443", + "m_Guid": { + "m_GuidSerialized": "b20b82ce-c983-4948-a0fc-4f5fa5967ff3" + }, + "m_Name": "Sheen Roughness Map TIling/Scale", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Roughness Map TIling/Scale", + "m_DefaultReferenceName": "_Sheen_Roughness_Map_TIling_Scale", + "m_OverrideReferenceName": "sheenRoughnessTexture_ST", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -12020,6 +14019,34 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "45f11fc5445a4094aa3ceb156d62ec78", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "45f1a15a0fd441918ad227eda12645b9", + "m_Id": 0, + "m_DisplayName": "Sheen Color Map UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.FresnelNode", @@ -12055,7 +14082,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -12077,7 +14103,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12129,6 +14154,41 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "47fc01e74c76464fadc132f66a0551db", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2302.28564453125, + "y": -898.2855834960938, + "width": 56.0, + "height": 23.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "12e3d414d807449f9bdf5dba45ceb8be" + }, + { + "m_Id": "e1a586d2c894432d969b6637f597bdc8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -12338,7 +14398,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12408,7 +14467,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12433,10 +14491,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1590.0, - "y": 90.0, - "width": 304.0, - "height": 143.0 + "x": 1764.0, + "y": 85.14281463623047, + "width": 264.0001220703125, + "height": 144.57150268554688 } }, "m_Slots": [ @@ -12456,7 +14514,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12504,7 +14561,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12517,6 +14573,62 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "49b1bd5f6fa04b1fb25b22f346e420b5", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3018.85693359375, + "y": -793.142822265625, + "width": 184.5712890625, + "height": 253.142822265625 + } + }, + "m_Slots": [ + { + "m_Id": "4a5194ffa50a4b1f8829d1ed3b99ccd0" + }, + { + "m_Id": "2ac62981fe5f40dbaaa31a84929e0bad" + }, + { + "m_Id": "5a416f6433054b088846fa2d5f659d22" + }, + { + "m_Id": "35b8000f15fd404683d3b4af8578acc4" + }, + { + "m_Id": "19436ee68ccc482f8468f3ff552b1bc5" + }, + { + "m_Id": "98ca4706797c482c94de11b004da6869" + }, + { + "m_Id": "87240ca5d2e24b2a8a5048d371eaeb00" + }, + { + "m_Id": "87f410daddb243429ff01365517bc7e9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -12580,6 +14692,44 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "4a5194ffa50a4b1f8829d1ed3b99ccd0", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "4a680c9007e54ccea942a4f4f81d6330", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -12676,6 +14826,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "4bc913b499a44afda3a530605c0efa7a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2943.428466796875, + "y": 2038.28564453125, + "width": 55.999755859375, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "6cd90f52e544472bb5cac19644bb9f10" + }, + { + "m_Id": "839051bb2ba04885aee84b2be7fa2f50" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -12691,7 +14876,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12750,10 +14934,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1096.0, - "y": 154.99998474121095, - "width": 185.0, - "height": 34.0 + "x": 1269.7142333984375, + "y": 150.2857208251953, + "width": 185.1429443359375, + "height": 34.28569030761719 } }, "m_Slots": [ @@ -12764,7 +14948,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12812,9 +14995,9 @@ "m_Theme": 0, "m_Position": { "serializedVersion": "2", - "x": 789.0, - "y": -368.0, - "width": 200.0, + "x": 962.8571166992188, + "y": -373.1428527832031, + "width": 200.00006103515626, "height": 160.0 }, "m_Group": { @@ -12927,7 +15110,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12970,7 +15152,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13133,7 +15314,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13201,7 +15381,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13257,6 +15436,31 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "518087f8349b4053ac009634aa00e58c", + "m_Id": -312577270, + "m_DisplayName": "Albedo", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Albedo", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -13317,10 +15521,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 2821.00048828125, - "y": 1040.0001220703125, - "width": 140.99951171875, - "height": 33.9998779296875 + "x": 3221.71435546875, + "y": 1010.8572387695313, + "width": 140.5712890625, + "height": 34.28558349609375 } }, "m_Slots": [ @@ -13331,7 +15535,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13438,15 +15641,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -13518,7 +15719,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13623,7 +15823,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13700,7 +15899,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13726,6 +15924,31 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "556c4c89ef1c4c06b49ba1e9cd00c0db", + "m_Id": 2, + "m_DisplayName": "Original_UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Original_UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -13752,7 +15975,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13762,12 +15984,55 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "564dfe6617854c74924e85ddad9d2aee", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3261.714111328125, + "y": -1057.7142333984375, + "width": 131.428466796875, + "height": 119.42852783203125 + } + }, + "m_Slots": [ + { + "m_Id": "353c46aba44640a78881df192dd21ed6" + }, + { + "m_Id": "2068eb2ce25b4ea18cc5f480e66c2579" + }, + { + "m_Id": "e457ab101d7e4231aac933cdc498a99f" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", "m_ObjectId": "56b8cfcfbe7e4700a8ee6c8920825400", - "m_MaterialNeedsUpdateHash": 0, + "m_MaterialNeedsUpdateHash": 529, "m_SurfaceType": 1, +"m_TwoSided": true, "m_RenderingPass": 1, "m_BlendMode": 0, "m_ZTest": 4, @@ -13776,7 +16041,6 @@ "m_OpaqueCullMode": 2, "m_SortPriority": 0, "m_AlphaTest": false, - "m_ExcludeFromTUAndAA": false, "m_TransparentDepthPrepass": false, "m_TransparentDepthPostpass": false, "m_SupportLodCrossFade": false, @@ -13841,7 +16105,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13892,7 +16155,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13931,7 +16193,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13982,7 +16243,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14028,6 +16288,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "58c47aba476749308994c8345156679c", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -14043,7 +16316,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -14097,7 +16369,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14232,7 +16503,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -14253,6 +16523,21 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5a416f6433054b088846fa2d5f659d22", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -14313,10 +16598,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1293.0, - "y": 90.0, - "width": 251.0, - "height": 167.0 + "x": 1466.857177734375, + "y": 85.14281463623047, + "width": 251.4285888671875, + "height": 168.57150268554688 } }, "m_Slots": [ @@ -14345,7 +16630,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14416,15 +16700,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -14463,7 +16745,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14517,15 +16798,37 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5b3a8d5fa48a4d469fe065c1620d5705", + "m_Id": 2, + "m_DisplayName": "Off", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Off", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } } { @@ -14790,7 +17093,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -14864,30 +17166,6 @@ "m_BareResource": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "5d7fea3e25aa4c32aa1b8057007a7cea", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -14924,7 +17202,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15031,7 +17308,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15075,6 +17351,33 @@ "m_Channel": 0 } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", + "m_ObjectId": "5fab76e7df744539b4a2b338cc7dad44", + "m_Guid": { + "m_GuidSerialized": "37e62578-1ffd-4f69-ae04-28a806b32b39" + }, + "m_Name": "Sheen Color Map Tiling/Scale", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Color Map Tiling/Scale", + "m_DefaultReferenceName": "_Sheen_Color_Map_Tiling_Scale", + "m_OverrideReferenceName": "sheenColorTexture_ST", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -15298,7 +17601,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15389,6 +17691,55 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "61ca6ba5b39e428f8bb6d0dcdb61f005", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MaterialXFloat", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2673.71435546875, + "y": 90.28572082519531, + "width": 145.142822265625, + "height": 120.57145690917969 + } + }, + "m_Slots": [ + { + "m_Id": "a20877b83d744cbd9a02d56294de22e3" + }, + { + "m_Id": "234e484c898b41f39f9905b26926ae1b" + }, + { + "m_Id": "41f6dbc9558a43c19d46d416ae25d88a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"23cb9569ab894e84991a92e0d19a08f1\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "1db17dee-af74-4ea9-9434-abd16afecddf", + "87733e81-8ef3-4fbd-945f-ded9e5740f22" + ], + "m_PropertyIds": [ + 1568544868, + 857709315 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.LerpNode", @@ -15428,7 +17779,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15450,7 +17800,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -15537,7 +17886,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15672,7 +18020,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15705,7 +18052,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15715,25 +18061,37 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "64cccc54548644e2a3425608870e8ae9", - "m_Id": 3, - "m_DisplayName": "World Bounds Max", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Max", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "644e2e1876414d4197b4275bb3a14b53", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2473.142578125, + "y": -598.28564453125, + "width": 260.571533203125, + "height": 34.2857666015625 + } }, - "m_Labels": [] + "m_Slots": [ + { + "m_Id": "a5cab5c29f704fc99631fd9336dd4238" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "448558b95e074169a6ffe6fd7bfc2443" + } } { @@ -15803,7 +18161,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15932,7 +18289,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -15969,21 +18325,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "67abba0ff09f449886c02d5e04600447", - "m_Id": 0, - "m_DisplayName": "Width", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Width", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -16098,7 +18439,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16108,6 +18448,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "6969da1acbf44a2e97d6fdb115906ae2", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -16182,7 +18535,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16254,6 +18606,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "6b364daf1f8b4ba3a33235d8c63e9109", + "m_Guid": { + "m_GuidSerialized": "eeaebf85-24d8-42d4-99e0-19346fd68395" + }, + "m_Name": "Sheen Roughness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Roughness", + "m_DefaultReferenceName": "_Sheen_Roughness", + "m_OverrideReferenceName": "sheenRoughnessFactor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -16269,6 +18648,28 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "6bb6caac02a34d55905008bf7c064089", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -16284,7 +18685,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -16297,6 +18697,62 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "6bc6081927414a54967aba433d1a4cc2", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3018.85693359375, + "y": -1174.8570556640625, + "width": 184.5712890625, + "height": 253.14288330078126 + } + }, + "m_Slots": [ + { + "m_Id": "f61442cc1d5f4d73aad84b5048f95654" + }, + { + "m_Id": "fd4e91a1fdda447188e6cddaf66aed5c" + }, + { + "m_Id": "f270f29c7fb64be99d259314cacc14cf" + }, + { + "m_Id": "0df976d9c8cd490d99b22681172818b5" + }, + { + "m_Id": "d7717c65ff1449be8caaec161d77e6d0" + }, + { + "m_Id": "1a11b5a8d93d4a77853bcfa9ff149641" + }, + { + "m_Id": "6bb6caac02a34d55905008bf7c064089" + }, + { + "m_Id": "45f11fc5445a4094aa3ceb156d62ec78" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -16367,6 +18823,19 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "6cd90f52e544472bb5cac19644bb9f10", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -16379,10 +18848,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1734.0, - "y": 1186.0, - "width": 185.9998779296875, - "height": 34.0 + "x": 1733.1429443359375, + "y": 1180.571533203125, + "width": 186.2857666015625, + "height": 34.28564453125 } }, "m_Slots": [ @@ -16393,7 +18862,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16418,7 +18886,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -16448,7 +18915,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -16497,7 +18963,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -16546,10 +19011,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1067.0, - "y": 586.0000610351563, - "width": 193.0001220703125, - "height": 34.0 + "x": 1240.5714111328125, + "y": 581.1428833007813, + "width": 193.142822265625, + "height": 34.28564453125 } }, "m_Slots": [ @@ -16560,7 +19025,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16585,6 +19049,48 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "6fb6e7d6f90d4821a59d6a33569cdde0", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3249.71435546875, + "y": -674.857177734375, + "width": 126.857177734375, + "height": 119.42852783203125 + } + }, + "m_Slots": [ + { + "m_Id": "2e2300e51dd64a23a1109cc2a9019951" + }, + { + "m_Id": "2860589ea2ff4a9f962a85d381869329" + }, + { + "m_Id": "b6194ae2dd35484c98f05c59c55c603b" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", @@ -16710,7 +19216,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16840,6 +19345,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "72f007094c274dc789f6760f5f366dbf", + "m_Id": 1309511136, + "m_DisplayName": "LegacyST", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_LegacyST", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -16895,7 +19425,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -16951,7 +19480,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17006,51 +19534,245 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "73a7e4c60ff040faa214d0e65e5077ce", - "m_Group": { - "m_Id": "760282c93700475d93b783b72005f9f6" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -952.0000610351563, - "y": -1564.0001220703125, - "width": 231.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "c6275b6388e84664b4ea287e2d54dffc" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "98bfc82acd6e48bcb86c8cb2524113ce" - } -} - +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "73a7e4c60ff040faa214d0e65e5077ce", + "m_Group": { + "m_Id": "760282c93700475d93b783b72005f9f6" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -952.0000610351563, + "y": -1564.0001220703125, + "width": 231.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "c6275b6388e84664b4ea287e2d54dffc" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "98bfc82acd6e48bcb86c8cb2524113ce" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "73eb99562d0c42198e9bb834a929744d", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "74131b61272b412cbf935c0a38793217", + "m_Id": 2, + "m_DisplayName": "Original_UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Original_UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.StickyNoteData", + "m_ObjectId": "741ca17a7fa54a4aba2b338e42afbcef", + "m_Title": "TODO", + "m_Content": "Another empirically determined value, tested against different sample models...", + "m_TextSize": 0, + "m_Theme": 0, + "m_Position": { + "serializedVersion": "2", + "x": -2408.0, + "y": 1719.0, + "width": 200.0, + "height": 160.0 + }, + "m_Group": { + "m_Id": "84e0b5a2ae6a46a785e5f8a97117454f" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", + "m_ObjectId": "7423ab95bc1741d181ffdcb861c1f3fe", + "m_Guid": { + "m_GuidSerialized": "a19c2542-8dfe-4ab1-bd7f-9fcf89e79420" + }, + "m_Name": "Enable Sheen", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Enable Sheen", + "m_DefaultReferenceName": "_ENABLE_SHEEN", + "m_OverrideReferenceName": "_SHEEN_ON", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_KeywordType": 0, + "m_KeywordDefinition": 0, + "m_KeywordScope": 0, + "m_KeywordStages": 63, + "m_Entries": [], + "m_Value": 0, + "m_IsEditable": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "744c71552f4445f391290f5b54393d90", + "m_Id": -725852216, + "m_DisplayName": "Rotation", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Rotation", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "745bf45b7fef4efdb99fd9ced9bbc087", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7469b59cafd741a68dd83cf2eb8b3f4b", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "746aab84a778449da4525f1d4c819ec7", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "73eb99562d0c42198e9bb834a929744d", + "m_ObjectId": "748addc8c7a84255bfff4d2b1bedcb6b", "m_Id": 0, - "m_DisplayName": "In", + "m_DisplayName": "", "m_SlotType": 0, "m_Hidden": false, - "m_ShaderOutputName": "In", + "m_ShaderOutputName": "", "m_StageCapability": 3, "m_Value": { "x": 0.0, @@ -17066,153 +19788,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", - "m_ObjectId": "74131b61272b412cbf935c0a38793217", - "m_Id": 2, - "m_DisplayName": "Original_UV", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Original_UV", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.StickyNoteData", - "m_ObjectId": "741ca17a7fa54a4aba2b338e42afbcef", - "m_Title": "TODO", - "m_Content": "Another empirically determined value, tested against different sample models...", - "m_TextSize": 0, - "m_Theme": 0, - "m_Position": { - "serializedVersion": "2", - "x": -2408.0, - "y": 1719.0, - "width": 200.0, - "height": 160.0 - }, - "m_Group": { - "m_Id": "84e0b5a2ae6a46a785e5f8a97117454f" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "744c71552f4445f391290f5b54393d90", - "m_Id": -725852216, - "m_DisplayName": "Rotation", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "_Rotation", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "745bf45b7fef4efdb99fd9ced9bbc087", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 1.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "7469b59cafd741a68dd83cf2eb8b3f4b", - "m_Id": 1, - "m_DisplayName": "R", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "R", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", - "m_ObjectId": "746aab84a778449da4525f1d4c819ec7", - "m_Id": 2, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "e00": 0.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 0.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 0.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 0.0 - }, - "m_DefaultValue": { - "e00": 1.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 1.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 1.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 1.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -17325,6 +19900,31 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "7585776daf874c5f8d372212b504eec0", + "m_Id": 2, + "m_DisplayName": "Original_UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Original_UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -17340,7 +19940,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -17413,7 +20012,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17545,7 +20143,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17606,6 +20203,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "771f1ff64fd44eca8cabf1f59bf290eb", + "m_Id": 0, + "m_DisplayName": "Sheen Color Map Rotation", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -17632,7 +20244,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17654,10 +20265,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1033.0001220703125, - "y": 657.0000610351563, - "width": 227.0, - "height": 34.0 + "x": 1206.857177734375, + "y": 652.0000610351563, + "width": 227.4285888671875, + "height": 34.28558349609375 } }, "m_Slots": [ @@ -17668,7 +20279,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17815,7 +20425,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17825,6 +20434,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "7ae15882a94646b6921c235fee055e08", + "m_Id": 1128211854, + "m_DisplayName": "SheenColor", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_SheenColor", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -17851,7 +20485,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17859,6 +20492,14 @@ "m_SerializedDescriptor": "SurfaceDescription.Alpha" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDUnlitData", + "m_ObjectId": "7c6ec251c77e49c4a4887cf647d1f80e", + "m_EnableShadowMatte": false, + "m_DistortionOnly": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -17951,7 +20592,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -17987,10 +20627,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1589.0, - "y": -372.9999084472656, - "width": 184.0, - "height": 253.0 + "x": 1762.857177734375, + "y": -377.71429443359377, + "width": 184.5714111328125, + "height": 253.1428985595703 } }, "m_Slots": [ @@ -18022,15 +20662,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -18173,7 +20811,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -18228,7 +20865,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18250,7 +20886,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -18309,10 +20944,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1394.0, - "y": -42.000003814697269, - "width": 118.0001220703125, - "height": 93.99998474121094 + "x": 1568.0, + "y": -46.85713577270508, + "width": 119.4285888671875, + "height": 95.4285888671875 } }, "m_Slots": [ @@ -18323,7 +20958,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -18350,17 +20984,17 @@ "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", "m_ObjectId": "7f827a3cdae746509e0dbcbc94884489", "m_Group": { - "m_Id": "" + "m_Id": "cd30fe948eb24cfe871b8fdea40a16f9" }, "m_Name": "Multiply", "m_DrawState": { "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1981.5499267578125, - "y": 1070.5499267578125, - "width": 208.0, - "height": 302.0 + "x": 1948.571533203125, + "y": 1038.2857666015625, + "width": 126.857177734375, + "height": 119.428466796875 } }, "m_Slots": [ @@ -18381,7 +21015,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18427,7 +21060,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18452,7 +21084,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -18494,10 +21125,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1095.0001220703125, - "y": 620.0000610351563, - "width": 165.0, - "height": 34.0 + "x": 1268.5714111328125, + "y": 614.8570556640625, + "width": 165.71435546875, + "height": 34.2857666015625 } }, "m_Slots": [ @@ -18508,7 +21139,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18554,7 +21184,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18620,7 +21249,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18720,20 +21348,28 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", - "m_ObjectId": "839fd8941d044ff49e24ade5e1e9f64a", + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "833949ebdceb46bba1fc44c1c15296ff", + "m_Id": 0, + "m_DisplayName": "Sheen Roughness Map", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "839051bb2ba04885aee84b2be7fa2f50", "m_Id": 1, - "m_DisplayName": "Texture", - "m_SlotType": 0, + "m_DisplayName": "", + "m_SlotType": 1, "m_Hidden": false, - "m_ShaderOutputName": "Texture", + "m_ShaderOutputName": "", "m_StageCapability": 3, - "m_BareResource": false, - "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", - "m_Guid": "" - }, - "m_DefaultType": 0 + "m_BareResource": false } { @@ -18915,7 +21551,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18948,7 +21583,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -18962,8 +21596,8 @@ "m_ObjectId": "84e0b5a2ae6a46a785e5f8a97117454f", "m_Title": "Volume", "m_Position": { - "x": -2741.000244140625, - "y": -112.00007629394531 + "x": -2741.71435546875, + "y": -112.0 } } @@ -18993,7 +21627,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19016,7 +21649,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -19064,7 +21696,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19075,6 +21706,30 @@ "m_FunctionBody": "color = SAMPLE_TEXTURE2D_X(_CameraOpaqueTexture, sampler_CameraOpaqueTexture, UnityStereoTransformScreenSpaceTex(uv)).rgb;" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "858b8788d52043ecbb70d9701939a979", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", @@ -19122,15 +21777,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -19250,7 +21903,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -19301,13 +21953,34 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "87240ca5d2e24b2a8a5048d371eaeb00", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -19334,7 +22007,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19359,7 +22031,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -19389,6 +22060,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "87f410daddb243429ff01365517bc7e9", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", @@ -19404,7 +22088,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -19468,6 +22151,19 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "88b5fda030624160b20aa58383896196", + "m_Id": 3, + "m_DisplayName": "Tex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Tex", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -19557,7 +22253,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19582,7 +22277,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -19694,7 +22388,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19752,7 +22445,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19795,7 +22487,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -19846,7 +22537,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19894,7 +22584,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -19957,7 +22646,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20122,6 +22810,12 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDUnlitSubTarget", + "m_ObjectId": "8f7106cb155b403ea6a8022400235d95" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -20213,7 +22907,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20235,7 +22928,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -20290,7 +22982,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20328,7 +23019,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20418,7 +23108,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20451,7 +23140,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20459,6 +23147,29 @@ "m_SerializedDescriptor": "SurfaceDescription.Metallic" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "91cff9786e1d4059b498202188ee6c15", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -20483,6 +23194,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "9284f29f482d407ba2987ccf6b968a2f", + "m_Id": -1618224757, + "m_DisplayName": "off", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_off", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BranchNode", @@ -20522,7 +23258,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20711,7 +23446,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20747,7 +23481,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20863,6 +23596,54 @@ "m_Channel": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "978637b1ea44411c82f4e3368693ebcc", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", @@ -20881,31 +23662,6 @@ "m_DefaultType": 0 } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", - "m_ObjectId": "97df40c83f5a4671a59db5b30b4c6316", - "m_Guid": { - "m_GuidSerialized": "0ed3a523-c978-4e5c-bc38-732b77ffc1b4" - }, - "m_Name": "Enable Vertex Colors", - "m_DefaultRefNameVersion": 0, - "m_RefNameGeneratedByDisplayName": "", - "m_DefaultReferenceName": "_ENABLE_VERTEX_COLORS", - "m_OverrideReferenceName": "_VERTEX_COLORS_ON", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_KeywordType": 0, - "m_KeywordDefinition": 0, - "m_KeywordScope": 0, - "m_KeywordStages": 63, - "m_Entries": [], - "m_Value": 1, - "m_IsEditable": true -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -20942,7 +23698,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -20988,7 +23743,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -21013,10 +23767,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1806.0001220703125, - "y": 255.00001525878907, - "width": 144.0, - "height": 33.99998474121094 + "x": 1980.0001220703125, + "y": 250.28567504882813, + "width": 144.5714111328125, + "height": 34.2857666015625 } }, "m_Slots": [ @@ -21027,7 +23781,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21052,7 +23805,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -21080,6 +23832,24 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "98ca4706797c482c94de11b004da6869", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -21202,7 +23972,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21435,7 +24204,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21519,10 +24287,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 378.0001525878906, - "y": 553.0001220703125, - "width": 129.99969482421876, - "height": 118.00006103515625 + "x": 706.6666870117188, + "y": 428.66668701171877, + "width": 131.333251953125, + "height": 119.99993896484375 } }, "m_Slots": [ @@ -21543,7 +24311,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21610,10 +24377,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1589.9998779296875, - "y": 529.0, - "width": 183.0, - "height": 251.0 + "x": 1764.0, + "y": 524.0, + "width": 184.571533203125, + "height": 253.14288330078126 } }, "m_Slots": [ @@ -21645,15 +24412,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -21715,7 +24480,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21826,7 +24590,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -21928,15 +24691,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -21980,7 +24741,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22075,10 +24835,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 300.00006103515627, - "y": 683.0001831054688, - "width": 207.99978637695313, - "height": 127.00006103515625 + "x": 98.00000762939453, + "y": 428.66668701171877, + "width": 209.33334350585938, + "height": 129.99993896484376 } }, "m_Slots": [ @@ -22091,7 +24851,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22169,7 +24928,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22236,6 +24994,41 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "9fbbe30fbcec4c9bb5239bf2c89b1a63", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3085.142578125, + "y": -908.5713500976563, + "width": 141.142822265625, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "056422219f2a4621bf375e03569453c3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c6121b1054504ce3a7a4efba71bf9873" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -22284,6 +25077,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "a01314083833431cab82400f6eb05186", + "m_Guid": { + "m_GuidSerialized": "f81fdf01-2706-4f72-81a5-b08c477f413c" + }, + "m_Name": "Sheen Color Map UV", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Color Map UV", + "m_DefaultReferenceName": "_Sheen_Color_Map_UV", + "m_OverrideReferenceName": "sheenColorTextureTexCoord", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -22309,6 +25129,19 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "a0a0329077b44193bd978ce03a7a9c0a", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -22342,10 +25175,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1544.0, - "y": -123.00003051757813, - "width": 130.0001220703125, - "height": 118.00001525878906 + "x": 1717.7142333984375, + "y": -127.99995422363281, + "width": 131.4285888671875, + "height": 119.42850494384766 } }, "m_Slots": [ @@ -22366,7 +25199,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22401,7 +25233,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22456,6 +25287,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a20877b83d744cbd9a02d56294de22e3", + "m_Id": 1568544868, + "m_DisplayName": "on", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_on", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -22482,7 +25328,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22522,7 +25367,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -22585,7 +25429,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22607,7 +25450,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -22823,7 +25665,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -22886,6 +25727,27 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "a4be13d8ece344e1ad9c8e19b20d9a09", + "m_Id": 1, + "m_DisplayName": "Transformed_UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Transformed_UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -22924,7 +25786,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -22988,10 +25849,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1641.9998779296875, - "y": 467.9999694824219, - "width": 123.000244140625, - "height": 33.999969482421878 + "x": 1816.0, + "y": 462.857177734375, + "width": 122.857177734375, + "height": 34.28570556640625 } }, "m_Slots": [ @@ -23002,7 +25863,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23012,6 +25872,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a5cab5c29f704fc99631fd9336dd4238", + "m_Id": 0, + "m_DisplayName": "Sheen Roughness Map TIling/Scale", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -23038,7 +25923,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23183,7 +26067,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23229,7 +26112,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -23326,7 +26208,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23369,7 +26250,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23422,6 +26302,55 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "a9ff3e0cc2b54563b0a06d2a3504f3c7", + "m_Group": { + "m_Id": "84e0b5a2ae6a46a785e5f8a97117454f" + }, + "m_Name": "MaterialXColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 376.0, + "y": 251.33334350585938, + "width": 185.33331298828126, + "height": 121.33334350585938 + } + }, + "m_Slots": [ + { + "m_Id": "e43b66d37ca441708e2225655a09ec2c" + }, + { + "m_Id": "9284f29f482d407ba2987ccf6b968a2f" + }, + { + "m_Id": "13d926debe19476b9ebfd708c3f26aee" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"ecd8fe7a9dd0c844987e0e6f5dbca66b\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "3cb0cd83-a7a9-4b64-958e-cd52500a3ead", + "593c34ad-595d-4873-9906-a721e2b263af" + ], + "m_PropertyIds": [ + -2010648849, + -1618224757 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -23532,6 +26461,73 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "ab8852869aed43e4b1f698bac31c6b78", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "TextureTransform", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2739.999755859375, + "y": -708.5713500976563, + "width": 251.428466796875, + "height": 168.57135009765626 + } + }, + "m_Slots": [ + { + "m_Id": "e28ea51da8424ec5a35be5f3ef64d4c6" + }, + { + "m_Id": "b0fac75630234bb1b66465cbf8900bf5" + }, + { + "m_Id": "20391c482d974088b0a624c406a2dc15" + }, + { + "m_Id": "03aefff64b414049b75da59b2bfbd547" + }, + { + "m_Id": "2fb37bc34d8f40dbab40a6a1c1ac7d82" + }, + { + "m_Id": "7585776daf874c5f8d372212b504eec0" + }, + { + "m_Id": "3475fd67016a4f3185ff74ede9f7db0a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"8ecb70019a63796448768b1124086ef5\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "83a6556e-d78a-45f4-b8a2-13076ccdab77", + "0c456893-e07e-4608-8121-3220a4f6c3be", + "b3d81d39-5c6c-4c82-9d1f-36795cedd43c", + "5b31af93-5974-4d7f-aa6a-8144a78d8bb2", + "277be5c3-34fc-4771-8834-d5c25768d2ec" + ], + "m_PropertyIds": [ + -1226117840, + -725852216, + -1162300524, + -532409878, + 1309511136 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", @@ -23561,7 +26557,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -23597,13 +26592,71 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "ad76d5c5b88d460d9862201316b82a76", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Sheen", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3302.857421875, + "y": -273.142822265625, + "width": 237.71435546875, + "height": 168.57138061523438 + } + }, + "m_Slots": [ + { + "m_Id": "7ae15882a94646b6921c235fee055e08" + }, + { + "m_Id": "e00c053a626740e18ff81096500454db" + }, + { + "m_Id": "518087f8349b4053ac009634aa00e58c" + }, + { + "m_Id": "ba4d2d275bf94dfaa8b7d04199db2697" + }, + { + "m_Id": "18923aa7e3354178a05c53d73891c14b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"85ba8322ac6cb6c4aab962530c987fc0\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "3da9545f-199d-412b-8a58-ad72c630104d", + "31ebe321-3bb2-4641-93c1-24d2151851fd", + "b662fe4f-051b-4249-9056-d0cdcedea5d4", + "23090155-e987-48b5-b9b8-2fa3b790fbef" + ], + "m_PropertyIds": [ + 1128211854, + 1491009813, + -312577270, + 661176540 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -23632,7 +26685,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -23807,6 +26859,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b0fac75630234bb1b66465cbf8900bf5", + "m_Id": -725852216, + "m_DisplayName": "Rotation", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Rotation", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -23950,36 +27017,12 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "b387eeefb6fd42c591ae6c3258c97cbd", - "m_Id": 4, - "m_DisplayName": "Bounds Size", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Bounds Size", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -24016,7 +27059,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24038,7 +27080,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -24072,7 +27113,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24123,7 +27163,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24187,7 +27226,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -24435,30 +27473,78 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "b612580ec76540688e6c548f7e50e022", - "m_Id": 1, - "m_DisplayName": "B", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "B", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 1.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b612580ec76540688e6c548f7e50e022", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b6194ae2dd35484c98f05c59c55c603b", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -24519,7 +27605,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24541,7 +27626,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -24569,7 +27653,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -24582,6 +27665,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "b830d9c6405445978bddc695b4adbcd1", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -24715,7 +27811,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24807,7 +27902,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24858,7 +27952,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24930,6 +28023,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ba4d2d275bf94dfaa8b7d04199db2697", + "m_Id": 661176540, + "m_DisplayName": "Roughness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Roughness", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.KeywordNode", @@ -24962,7 +28070,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -24972,6 +28079,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "ba933f4433144acb99e0e5830eedbecd", + "m_Guid": { + "m_GuidSerialized": "b6580c8b-8b47-48ce-ab08-4699f02cc669" + }, + "m_Name": "Sheen Roughness Map Rotation", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Roughness Map Rotation", + "m_DefaultReferenceName": "_Sheen_Roughness_Map_Rotation", + "m_OverrideReferenceName": "sheenRoughnessTextureRotation", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.LerpNode", @@ -25011,7 +28145,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -25135,15 +28268,6 @@ }, { "m_Id": "d594f01d8a2048b280bcbe5757a463fc" - }, - { - "m_Id": "c7447492dd284d488f5dbb83aded02dc" - }, - { - "m_Id": "64cccc54548644e2a3425608870e8ae9" - }, - { - "m_Id": "b387eeefb6fd42c591ae6c3258c97cbd" } ], "synonyms": [ @@ -25152,7 +28276,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -25404,7 +28527,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -25484,49 +28606,17 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Texture2DPropertiesNode", - "m_ObjectId": "bd2bb5f1387341d28dbf190f4a0e97ef", - "m_Group": { - "m_Id": "84e0b5a2ae6a46a785e5f8a97117454f" - }, - "m_Name": "Texel Size", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -2120.0, - "y": 545.0, - "width": 183.0, - "height": 101.0 - } - }, - "m_Slots": [ - { - "m_Id": "67abba0ff09f449886c02d5e04600447" - }, - { - "m_Id": "ff761b08eecb4f8aaff5317f4b58f157" - }, - { - "m_Id": "839fd8941d044ff49e24ade5e1e9f64a" - }, - { - "m_Id": "24f62832f28f4ffaa3e6a6a542188180" - }, - { - "m_Id": "2a13ae19c696410baebf400e7205ea32" - } - ], - "synonyms": [ - "texture size" - ], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bd84a5cb83a540a8bc211f4c5e208a68", + "m_Id": 0, + "m_DisplayName": "Sheen Roughness Map Rotation", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] } { @@ -25730,7 +28820,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -25753,6 +28842,41 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "bf4bc0ecdc8f484db87384921a2e2c94", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2519.999755859375, + "y": -727.9998779296875, + "width": 203.428466796875, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "833949ebdceb46bba1fc44c1c15296ff" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "133666e5702e4ae38bad50224f5b3de0" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -25795,7 +28919,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -25828,7 +28951,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26031,10 +29153,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1337.0, - "y": 272.0, - "width": 207.0, - "height": 34.0 + "x": 1510.857177734375, + "y": 266.85711669921877, + "width": 224.5714111328125, + "height": 34.285675048828128 } }, "m_Slots": [ @@ -26045,7 +29167,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26061,8 +29182,8 @@ "m_ObjectId": "c1f6d9e695904fea9b3abdc1e683f2c8", "m_Title": "Base Color + Normal + Emission", "m_Position": { - "x": 806.0000610351563, - "y": -558.0 + "x": 937.1428833007813, + "y": -437.14288330078127 } } @@ -26166,7 +29287,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26182,6 +29302,7 @@ "m_DistortionDepthTest": true, "m_AddPrecomputedVelocity": false, "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, "m_DepthOffset": false, "m_ConservativeDepthOffset": false, "m_TransparencyFog": true, @@ -26218,7 +29339,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26439,7 +29559,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26522,7 +29641,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26571,7 +29689,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -26636,7 +29753,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26658,7 +29774,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -26751,7 +29866,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26796,13 +29910,52 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "c6121b1054504ce3a7a4efba71bf9873", + "m_Guid": { + "m_GuidSerialized": "46554511-21f6-4c39-a82a-99ecac3c3ea7" + }, + "m_Name": "Sheen Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Color", + "m_DefaultReferenceName": "_Sheen_Color", + "m_OverrideReferenceName": "sheenColorFactor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "c6190d7ef66644e4b76c6b232c6877fa", + "m_Title": "Sheen", + "m_Position": { + "x": 2447.428466796875, + "y": -1234.2857666015625 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -26840,10 +29993,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1337.0, - "y": -88.99999237060547, - "width": 134.0, - "height": 34.000003814697269 + "x": 1510.857177734375, + "y": -93.71427154541016, + "width": 134.28564453125, + "height": 34.28568649291992 } }, "m_Slots": [ @@ -26854,7 +30007,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -26963,36 +30115,12 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "c7447492dd284d488f5dbb83aded02dc", - "m_Id": 2, - "m_DisplayName": "World Bounds Min", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Min", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -27121,7 +30249,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27177,7 +30304,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27481,7 +30607,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27514,7 +30639,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27658,15 +30782,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -27738,6 +30860,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "cb6f985ac6a64e0c9a6b2ebc9c77a63c", + "m_Guid": { + "m_GuidSerialized": "05f7ed07-20c9-440d-a331-8700b11b420e" + }, + "m_Name": "Sheen Roughness Map UV", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Sheen Roughness Map UV", + "m_DefaultReferenceName": "_Sheen_Roughness_Map_UV", + "m_OverrideReferenceName": "sheenRoughnessTextureTexCoord", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.AddNode", @@ -27774,7 +30923,41 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "cc76dfadf6814f48b483eb9dc8741fd7", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2902.857177734375, + "y": -886.2857055664063, + "width": 56.0, + "height": 23.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "427e6ba1e14e4203b562cb653e0b4210" + }, + { + "m_Id": "f28f3ec09fc24d19867e44f7df434001" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27891,7 +31074,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -27955,7 +31137,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -28023,7 +31204,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28042,10 +31222,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1293.0, - "y": -373.0000305175781, - "width": 251.0001220703125, - "height": 165.99998474121095 + "x": 1466.857177734375, + "y": -377.71429443359377, + "width": 251.4285888671875, + "height": 168.57142639160157 } }, "m_Slots": [ @@ -28074,7 +31254,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28141,7 +31320,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -28228,7 +31406,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28253,7 +31430,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -28281,7 +31457,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -28569,7 +31744,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28620,7 +31794,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28681,7 +31854,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28742,7 +31914,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -28807,7 +31978,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -28944,7 +32114,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29050,7 +32219,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29080,10 +32248,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1134.0, - "y": 119.99999237060547, - "width": 147.0, - "height": 34.00000762939453 + "x": 1308.0, + "y": 114.8571548461914, + "width": 147.4285888671875, + "height": 34.285682678222659 } }, "m_Slots": [ @@ -29094,7 +32262,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29152,6 +32319,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d7717c65ff1449be8caaec161d77e6d0", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", @@ -29187,7 +32369,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29298,7 +32479,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29320,10 +32500,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1105.0, - "y": 552.0000610351563, - "width": 155.0001220703125, - "height": 34.0 + "x": 1278.857177734375, + "y": 546.8571166992188, + "width": 155.4285888671875, + "height": 34.2857666015625 } }, "m_Slots": [ @@ -29334,7 +32514,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29630,7 +32809,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29687,7 +32865,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29753,7 +32930,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -29805,7 +32981,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -29940,7 +33115,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30031,7 +33205,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30069,7 +33242,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30102,7 +33274,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30148,7 +33319,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -30220,7 +33390,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30259,6 +33428,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "e00c053a626740e18ff81096500454db", + "m_Id": 1491009813, + "m_DisplayName": "WorldNormal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_WorldNormal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -30299,7 +33491,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30341,7 +33532,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30377,7 +33567,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30424,7 +33613,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30432,6 +33620,19 @@ "m_SerializedDescriptor": "SurfaceDescription.Occlusion" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "e1a586d2c894432d969b6637f597bdc8", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -30510,6 +33711,24 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "e28ea51da8424ec5a35be5f3ef64d4c6", + "m_Id": -532409878, + "m_DisplayName": "Tex", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Tex", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -30536,7 +33755,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30690,6 +33908,79 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "e43b66d37ca441708e2225655a09ec2c", + "m_Id": -2010648849, + "m_DisplayName": "on", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_on", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e457ab101d7e4231aac933cdc498a99f", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -30799,7 +34090,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -30853,7 +34143,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -30939,7 +34228,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -30978,7 +34266,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31104,7 +34391,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31164,7 +34450,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31197,7 +34482,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31233,7 +34517,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31375,7 +34658,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31518,7 +34800,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31577,6 +34858,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "ec0cf97e6f8a45b6bc27980002dcfbc3", + "m_Group": { + "m_Id": "c6190d7ef66644e4b76c6b232c6877fa" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2483.999755859375, + "y": -1074.8570556640625, + "width": 230.28564453125, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "0480ed265f294a5eb631f0f7670f543d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5fab76e7df744539b4a2b338cc7dad44" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -31741,25 +35057,36 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "eef506e16f0d4e7fabba8e363f9f7b5b", - "m_Id": 1, - "m_DisplayName": "On", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "On", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "ee6105bac71f48e5b99b59dceae5609b", + "m_Group": { + "m_Id": "" }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3386.285888671875, + "y": -214.85707092285157, + "width": 56.0, + "height": 23.999969482421876 + } + }, + "m_Slots": [ + { + "m_Id": "6969da1acbf44a2e97d6fdb115906ae2" + }, + { + "m_Id": "a0a0329077b44193bd978ce03a7a9c0a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] } } @@ -31789,7 +35116,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -31907,15 +35233,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -32143,6 +35467,36 @@ { "m_Id": "758a2d34271948b5bbec3c69ff668cd6" }, + { + "m_Id": "c6121b1054504ce3a7a4efba71bf9873" + }, + { + "m_Id": "6b364daf1f8b4ba3a33235d8c63e9109" + }, + { + "m_Id": "268e450c1cfd43939c6a4005b8eb7f15" + }, + { + "m_Id": "40e39f38f5f14be5b1f3e8a801e0d3c6" + }, + { + "m_Id": "5fab76e7df744539b4a2b338cc7dad44" + }, + { + "m_Id": "a01314083833431cab82400f6eb05186" + }, + { + "m_Id": "133666e5702e4ae38bad50224f5b3de0" + }, + { + "m_Id": "448558b95e074169a6ffe6fd7bfc2443" + }, + { + "m_Id": "ba933f4433144acb99e0e5830eedbecd" + }, + { + "m_Id": "cb6f985ac6a64e0c9a6b2ebc9c77a63c" + }, { "m_Id": "b3bf6e9825a34fe5ab67bdb85f17df32" }, @@ -32156,7 +35510,7 @@ "m_Id": "87f49076b11a43f2bc2c05c9154c93d4" }, { - "m_Id": "97df40c83f5a4671a59db5b30b4c6316" + "m_Id": "7423ab95bc1741d181ffdcb861c1f3fe" }, { "m_Id": "13bf38d3fb4046ed924a4a13ca312622" @@ -32308,7 +35662,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -32347,6 +35700,34 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f270f29c7fb64be99d259314cacc14cf", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "f28f3ec09fc24d19867e44f7df434001", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -32434,7 +35815,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32499,7 +35879,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32569,10 +35948,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1073.0, - "y": 223.0, + "x": 1246.857177734375, + "y": 218.28565979003907, "width": 208.0, - "height": 33.999969482421878 + "height": 34.28578186035156 } }, "m_Slots": [ @@ -32583,7 +35962,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32664,15 +36042,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -32711,13 +36087,37 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f61442cc1d5f4d73aad84b5048f95654", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -32800,7 +36200,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -32845,7 +36244,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32932,7 +36330,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32965,7 +36362,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -32999,7 +36395,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -33101,10 +36496,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1088.0, - "y": -276.00006103515627, - "width": 176.0, - "height": 34.00001525878906 + "x": 1261.7142333984375, + "y": -281.1428527832031, + "width": 176.571533203125, + "height": 34.28569030761719 } }, "m_Slots": [ @@ -33115,7 +36510,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -33125,6 +36519,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fd4e91a1fdda447188e6cddaf66aed5c", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -33182,10 +36591,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1060.0, - "y": -309.00006103515627, - "width": 204.0, - "height": 34.000030517578128 + "x": 1233.7142333984375, + "y": -313.71429443359377, + "width": 204.571533203125, + "height": 34.285736083984378 } }, "m_Slots": [ @@ -33196,7 +36605,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -33242,7 +36650,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -33264,7 +36671,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -33277,21 +36683,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "ff761b08eecb4f8aaff5317f4b58f157", - "m_Id": 2, - "m_DisplayName": "Height", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Height", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", diff --git a/Runtime/Shaders/ShaderGraph/PBRHelpers.cginc b/Runtime/Shaders/ShaderGraph/PBRHelpers.cginc index d87dc03a4..1435ee864 100644 --- a/Runtime/Shaders/ShaderGraph/PBRHelpers.cginc +++ b/Runtime/Shaders/ShaderGraph/PBRHelpers.cginc @@ -51,6 +51,11 @@ float3 Sample4Tap(float2 uv, float lod) void SampleSceneColor_float(float2 uv, float lod, out float3 color) { + #if !UNITY_UV_STARTS_AT_TOP + if (_CameraOpaqueTexture_TexelSize.y > 0) + uv.y = 1-uv.y; + #endif + #define REQUIRE_OPAQUE_TEXTURE // seems we need to define this ourselves? HDSceneColorNode does that as well #if defined(USE_CAMERA_OPAQUE) diff --git a/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph b/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph new file mode 100644 index 000000000..d447cc37c --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph @@ -0,0 +1,4959 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "319ff19ff5bf4466b9ed4e04805b75ec", + "m_Properties": [ + { + "m_Id": "5d8d0eb4052c4978a64b038cac64c33c" + }, + { + "m_Id": "45cb07d535ad4c64ba5fa24166f8df61" + }, + { + "m_Id": "5ac2b99e3222424ebcf3f4f7921a5396" + }, + { + "m_Id": "803456c297b24a5f8d91fe5ef8a882c0" + } + ], + "m_Keywords": [ + { + "m_Id": "70f07928851f4f5892ca7656d80dbc0c" + } + ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "086c8343c8d74e60ae617c1e691d63d1" + } + ], + "m_Nodes": [ + { + "m_Id": "8797dfcad3a64a39a923c76ce82244ca" + }, + { + "m_Id": "2ab2a2cbfec345e5b172b5bac12807fd" + }, + { + "m_Id": "ec9fc4e196ff4899a0c6803f41c031dd" + }, + { + "m_Id": "ca662bfab8f24545ab0652b61897ab3f" + }, + { + "m_Id": "cebc236c5cb84b0cb07da7c1dfb134eb" + }, + { + "m_Id": "b29e8bb0ed67407294cf512a177b4301" + }, + { + "m_Id": "858065a016a44d4ca014720711ed3f94" + }, + { + "m_Id": "d895e39dd4d44d9488df733ba08f0f94" + }, + { + "m_Id": "d7ab2d0a7e194f0f8afdc7d8ccfd02a5" + }, + { + "m_Id": "cd9958207e4b4d4e883a84dbb1f8078e" + }, + { + "m_Id": "0737edfe3d6c4e03afb4320c56765735" + }, + { + "m_Id": "2dfe28acf24a42b28e18f3b2fca48edf" + }, + { + "m_Id": "9101b8245532487b9765df677d8ceea0" + }, + { + "m_Id": "bfcca4b72f8b40789404c5746fe414be" + }, + { + "m_Id": "f0eb92a9ec414ee9b0801353d27857ac" + }, + { + "m_Id": "e1a682ccd1ef49c39ef75477792c5742" + }, + { + "m_Id": "d77896473ebb4e1083d071745800e60b" + }, + { + "m_Id": "6a0843a87b914a9580c5a82834615df9" + }, + { + "m_Id": "6598ab7f38134556af88b427d463b0b8" + }, + { + "m_Id": "63c960272c644ad3b0c3337bc5dfc4db" + }, + { + "m_Id": "f350e1e6be3443749580c495b76e737d" + }, + { + "m_Id": "eac9f31f74fe4a709fe75e92ab331384" + }, + { + "m_Id": "3ccc5ef414404b9597908a9c89bd2af0" + }, + { + "m_Id": "b00c3d4d287542248774390a5821d9ee" + }, + { + "m_Id": "15a85976955440debeb950877b5c48f6" + }, + { + "m_Id": "df86fbf9940c4c4ab7217b9df073bb42" + }, + { + "m_Id": "766f966a35854fa09a9c9c3c9b167661" + }, + { + "m_Id": "03ca583c92924950b99ed5ea5fc4e9ef" + }, + { + "m_Id": "a81c5ef28fe643aa8eb2fb0726995cc8" + }, + { + "m_Id": "d73cc6ded4a64249995a1a95b996b48a" + }, + { + "m_Id": "ba5c1d30677e4c9d9285e7e972948434" + }, + { + "m_Id": "d5e2b6f598864e13a690aa6f14e2574b" + }, + { + "m_Id": "6160e4c12dfb4f55a6f3625eff910f61" + }, + { + "m_Id": "c27f00b6cc7a4f8780e48fff5a26a920" + }, + { + "m_Id": "8b54bd1ee4f2451e85a0101657b8f3f0" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "03ca583c92924950b99ed5ea5fc4e9ef" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a81c5ef28fe643aa8eb2fb0726995cc8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0737edfe3d6c4e03afb4320c56765735" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eac9f31f74fe4a709fe75e92ab331384" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "15a85976955440debeb950877b5c48f6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "766f966a35854fa09a9c9c3c9b167661" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2ab2a2cbfec345e5b172b5bac12807fd" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d895e39dd4d44d9488df733ba08f0f94" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2ab2a2cbfec345e5b172b5bac12807fd" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ec9fc4e196ff4899a0c6803f41c031dd" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2dfe28acf24a42b28e18f3b2fca48edf" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9101b8245532487b9765df677d8ceea0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3ccc5ef414404b9597908a9c89bd2af0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b00c3d4d287542248774390a5821d9ee" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6160e4c12dfb4f55a6f3625eff910f61" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8797dfcad3a64a39a923c76ce82244ca" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "63c960272c644ad3b0c3337bc5dfc4db" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6a0843a87b914a9580c5a82834615df9" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6598ab7f38134556af88b427d463b0b8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "63c960272c644ad3b0c3337bc5dfc4db" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6a0843a87b914a9580c5a82834615df9" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e1a682ccd1ef49c39ef75477792c5742" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "766f966a35854fa09a9c9c3c9b167661" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a81c5ef28fe643aa8eb2fb0726995cc8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "858065a016a44d4ca014720711ed3f94" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d7ab2d0a7e194f0f8afdc7d8ccfd02a5" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8b54bd1ee4f2451e85a0101657b8f3f0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6160e4c12dfb4f55a6f3625eff910f61" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9101b8245532487b9765df677d8ceea0" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bfcca4b72f8b40789404c5746fe414be" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9101b8245532487b9765df677d8ceea0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bfcca4b72f8b40789404c5746fe414be" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9101b8245532487b9765df677d8ceea0" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f0eb92a9ec414ee9b0801353d27857ac" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a81c5ef28fe643aa8eb2fb0726995cc8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d73cc6ded4a64249995a1a95b996b48a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b00c3d4d287542248774390a5821d9ee" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15a85976955440debeb950877b5c48f6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b00c3d4d287542248774390a5821d9ee" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ba5c1d30677e4c9d9285e7e972948434" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b29e8bb0ed67407294cf512a177b4301" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "858065a016a44d4ca014720711ed3f94" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba5c1d30677e4c9d9285e7e972948434" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d73cc6ded4a64249995a1a95b996b48a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bfcca4b72f8b40789404c5746fe414be" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f0eb92a9ec414ee9b0801353d27857ac" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c27f00b6cc7a4f8780e48fff5a26a920" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8b54bd1ee4f2451e85a0101657b8f3f0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ca662bfab8f24545ab0652b61897ab3f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cebc236c5cb84b0cb07da7c1dfb134eb" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cd9958207e4b4d4e883a84dbb1f8078e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0737edfe3d6c4e03afb4320c56765735" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cebc236c5cb84b0cb07da7c1dfb134eb" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6598ab7f38134556af88b427d463b0b8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cebc236c5cb84b0cb07da7c1dfb134eb" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eac9f31f74fe4a709fe75e92ab331384" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d5e2b6f598864e13a690aa6f14e2574b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ba5c1d30677e4c9d9285e7e972948434" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d5e2b6f598864e13a690aa6f14e2574b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c27f00b6cc7a4f8780e48fff5a26a920" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d73cc6ded4a64249995a1a95b996b48a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6160e4c12dfb4f55a6f3625eff910f61" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d77896473ebb4e1083d071745800e60b" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e1a682ccd1ef49c39ef75477792c5742" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d7ab2d0a7e194f0f8afdc7d8ccfd02a5" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d77896473ebb4e1083d071745800e60b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d895e39dd4d44d9488df733ba08f0f94" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "858065a016a44d4ca014720711ed3f94" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "df86fbf9940c4c4ab7217b9df073bb42" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15a85976955440debeb950877b5c48f6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "df86fbf9940c4c4ab7217b9df073bb42" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8b54bd1ee4f2451e85a0101657b8f3f0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e1a682ccd1ef49c39ef75477792c5742" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3ccc5ef414404b9597908a9c89bd2af0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e1a682ccd1ef49c39ef75477792c5742" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b00c3d4d287542248774390a5821d9ee" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "eac9f31f74fe4a709fe75e92ab331384" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3ccc5ef414404b9597908a9c89bd2af0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ec9fc4e196ff4899a0c6803f41c031dd" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd9958207e4b4d4e883a84dbb1f8078e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ec9fc4e196ff4899a0c6803f41c031dd" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd9958207e4b4d4e883a84dbb1f8078e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f0eb92a9ec414ee9b0801353d27857ac" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c27f00b6cc7a4f8780e48fff5a26a920" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f0eb92a9ec414ee9b0801353d27857ac" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f350e1e6be3443749580c495b76e737d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f350e1e6be3443749580c495b76e737d" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "63c960272c644ad3b0c3337bc5dfc4db" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Sub Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "8797dfcad3a64a39a923c76ce82244ca" + }, + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "010805074eb046009113dce50144a7cc", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "01c43205d2b74f6b8f3c898bed977403", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "03ca583c92924950b99ed5ea5fc4e9ef", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6863.4287109375, + "y": -1941.1429443359375, + "width": 114.28564453125, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "1ebf999daa60487f8ca57b5e072230bb" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5ac2b99e3222424ebcf3f4f7921a5396" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "059a41f4b9f2472caf3f549bc12cf652", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalizeNode", + "m_ObjectId": "0737edfe3d6c4e03afb4320c56765735", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Normalize", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5549.14306640625, + "y": -2702.28564453125, + "width": 133.142578125, + "height": 95.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "0959c799241c4848aef5064ef7860896" + }, + { + "m_Id": "54cb537a500c49cc9ec256493f37af05" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "086c8343c8d74e60ae617c1e691d63d1", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "5d8d0eb4052c4978a64b038cac64c33c" + }, + { + "m_Id": "45cb07d535ad4c64ba5fa24166f8df61" + }, + { + "m_Id": "5ac2b99e3222424ebcf3f4f7921a5396" + }, + { + "m_Id": "803456c297b24a5f8d91fe5ef8a882c0" + }, + { + "m_Id": "70f07928851f4f5892ca7656d80dbc0c" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0959c799241c4848aef5064ef7860896", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "12ed4e285925403597d96dba4691d108", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "15a85976955440debeb950877b5c48f6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6456.25146484375, + "y": -1732.891357421875, + "width": 209.142578125, + "height": 303.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "a25c4eb8b4ac4d67af620e6ac75e2b7c" + }, + { + "m_Id": "ae26bb5966a14582bc9fb7f75e6307bc" + }, + { + "m_Id": "6378f3ac988f4230813d4ab2abbd73e8" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "174c3ca1af314c069688aa9a55e82015", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "1ebf999daa60487f8ca57b5e072230bb", + "m_Id": 0, + "m_DisplayName": "Albedo", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "26d9059c6e4c454297de1fc3b89515cd", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 5.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionNode", + "m_ObjectId": "2ab2a2cbfec345e5b172b5bac12807fd", + "m_Group": { + "m_Id": "" + }, + "m_Name": "View Direction", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4303.4287109375, + "y": -2677.71435546875, + "width": 207.42822265625, + "height": 133.142822265625 + } + }, + "m_Slots": [ + { + "m_Id": "e3cbe94d18c344d98ce11a4f0fb19433" + } + ], + "synonyms": [ + "eye direction" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "2bfa7bca25f94ddfaff8c73f5a731af1", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2dfe28acf24a42b28e18f3b2fca48edf", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4156.0, + "y": -1844.0001220703125, + "width": 138.28564453125, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "ca83c893763e4fab9d90ec5d1a331598" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5d8d0eb4052c4978a64b038cac64c33c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3260735c3f8942959e200dd3e51f8783", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "35219ebf37b24819a74425f3cdf2a1fc", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "37b1459594794851b6b53123cc2fd0c2", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3bcb98c971934cdabcbce251b73b74c9", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3ccc5ef414404b9597908a9c89bd2af0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6114.28564453125, + "y": -2067.428466796875, + "width": 131.4287109375, + "height": 119.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "4cbce3067870437191d7c3d950be902a" + }, + { + "m_Id": "74177b05839b46e2b9aa4d6a86a33622" + }, + { + "m_Id": "f2fc6230a5af419ea8b51eb2738a9182" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3eac4ac272e44670802c826e3b2d7eaa", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3ed2abb40b8548fb9907c0392c3ca154", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3f6676305e704bde81fcd76df0d34305", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "40985f7599b041d5bca4748130f39ce7", + "m_Id": 1, + "m_DisplayName": "Out_Vector4", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector4", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty", + "m_ObjectId": "45cb07d535ad4c64ba5fa24166f8df61", + "m_Guid": { + "m_GuidSerialized": "31ebe321-3bb2-4641-93c1-24d2151851fd" + }, + "m_Name": "WorldNormal", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "WorldNormal", + "m_DefaultReferenceName": "_WorldNormal", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "45d6f1d5d9cb4909b5d29db966119d41", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "4b92370846974b06b1d544c689307893", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "4cbce3067870437191d7c3d950be902a", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5393b55b21404b40bdb7782a661d2bfc", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "54cb537a500c49cc9ec256493f37af05", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "5ac2b99e3222424ebcf3f4f7921a5396", + "m_Guid": { + "m_GuidSerialized": "b662fe4f-051b-4249-9056-d0cdcedea5d4" + }, + "m_Name": "Albedo", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Albedo", + "m_DefaultReferenceName": "_Albedo", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "5d8d0eb4052c4978a64b038cac64c33c", + "m_Guid": { + "m_GuidSerialized": "3da9545f-199d-412b-8a58-ad72c630104d" + }, + "m_Name": "SheenColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "SheenColor", + "m_DefaultReferenceName": "_SheenColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "612edb2b15ac4b489da88ce832d5605a", + "m_Id": 0, + "m_DisplayName": "Roughness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "6160e4c12dfb4f55a6f3625eff910f61", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7734.2861328125, + "y": -1906.857177734375, + "width": 131.4287109375, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "98e361b61b374bdb9a490b9a4cee3eb9" + }, + { + "m_Id": "91d435b8adbe4257b49483c83210a915" + }, + { + "m_Id": "45d6f1d5d9cb4909b5d29db966119d41" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6378f3ac988f4230813d4ab2abbd73e8", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "63c960272c644ad3b0c3337bc5dfc4db", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5427.4287109375, + "y": -1817.7142333984375, + "width": 126.85693359375, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "9a75e3056b55470ca109e3f471b45825" + }, + { + "m_Id": "3f6676305e704bde81fcd76df0d34305" + }, + { + "m_Id": "b8344dd348d64bd789eff0fcf209db42" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "64c8cb5d2f8441b1886e4e02fbe2047b", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "64faa9fa37744ee8beb6fd06959dd641", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.15700000524520875, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "6598ab7f38134556af88b427d463b0b8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5267.42919921875, + "y": -1900.0001220703125, + "width": 126.8564453125, + "height": 119.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "b4c8e20665b74b1ea390382746ad9571" + }, + { + "m_Id": "93e24361fc4b48f395b362cd94ca7d46" + }, + { + "m_Id": "d8b781d659644773bdc0ef753ee3a926" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "660c00730e4e4353bc5a2bd4b5363d6e", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "69b63610c42643a89fd9b23951878b13", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "6a0843a87b914a9580c5a82834615df9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5618.28564453125, + "y": -1869.7144775390625, + "width": 126.85791015625, + "height": 119.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "26d9059c6e4c454297de1fc3b89515cd" + }, + { + "m_Id": "3ed2abb40b8548fb9907c0392c3ca154" + }, + { + "m_Id": "a469a474bfd24a94ad66ce165fb604d7" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "7074c4130a1342b7abf43f440583045a", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", + "m_ObjectId": "70f07928851f4f5892ca7656d80dbc0c", + "m_Guid": { + "m_GuidSerialized": "1d5b1a6a-75f0-450b-9a60-e35df192360a" + }, + "m_Name": "MaterialX", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "MaterialX", + "m_DefaultReferenceName": "MATERIALX", + "m_OverrideReferenceName": "MATERIAL_X", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_KeywordType": 0, + "m_KeywordDefinition": 2, + "m_KeywordScope": 1, + "m_KeywordStages": 63, + "m_Entries": [], + "m_Value": 0, + "m_IsEditable": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "70f7d7f075784566a4e71648aee3967a", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "71e2206c4df7465a862111bffb4092bf", + "m_Id": 0, + "m_DisplayName": "SheenColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "74177b05839b46e2b9aa4d6a86a33622", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7661020cbe65497da12f394e6aa71c1c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "766f966a35854fa09a9c9c3c9b167661", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6758.857421875, + "y": -1798.2860107421875, + "width": 133.14306640625, + "height": 95.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "70f7d7f075784566a4e71648aee3967a" + }, + { + "m_Id": "e1852d1837774ab1ac230d9a056f7980" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7b20f1ab60c342aca9b7122edf38690f", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7f286b09ef9c451cadc7cfd608ac7800", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7f38324f19fb4b08830d29fe930b1d65", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7f39486bcf8945139ca7f61d1d2ca0bf", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "803456c297b24a5f8d91fe5ef8a882c0", + "m_Guid": { + "m_GuidSerialized": "23090155-e987-48b5-b9b8-2fa3b790fbef" + }, + "m_Name": "Roughness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Roughness", + "m_DefaultReferenceName": "_Roughness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "82bccf8e0ff44d35a1a67ff30d2868ce", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "84d4af26875149f49e7734b0e9f4f498", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DotProductNode", + "m_ObjectId": "858065a016a44d4ca014720711ed3f94", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Dot Product", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5122.85693359375, + "y": -2195.428466796875, + "width": 129.14306640625, + "height": 119.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "e614cd05fe1a4948adeb3c48d22b0962" + }, + { + "m_Id": "010805074eb046009113dce50144a7cc" + }, + { + "m_Id": "d0485d1e3a714b99b6af3c9d8b576904" + } + ], + "synonyms": [ + "scalar product" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "8797dfcad3a64a39a923c76ce82244ca", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Output", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 8001.14306640625, + "y": -1925.142822265625, + "width": 121.7138671875, + "height": 78.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "40985f7599b041d5bca4748130f39ce7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "87af01c6028c4162bd6744da45b2a434", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8aa5019da2f4459b8078d78166f2606c", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "8b54bd1ee4f2451e85a0101657b8f3f0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7550.53759765625, + "y": -2044.31982421875, + "width": 209.142578125, + "height": 303.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "8dcc12a0142d43e683f8e45f85740806" + }, + { + "m_Id": "12ed4e285925403597d96dba4691d108" + }, + { + "m_Id": "660c00730e4e4353bc5a2bd4b5363d6e" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8d9db67fc9e44f46996b367ee59d33f8", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8dcc12a0142d43e683f8e45f85740806", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "9101b8245532487b9765df677d8ceea0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4321.14306640625, + "y": -1874.857177734375, + "width": 120.5712890625, + "height": 150.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "8aa5019da2f4459b8078d78166f2606c" + }, + { + "m_Id": "aabf6ad82462478daf4b147628006f56" + }, + { + "m_Id": "7b20f1ab60c342aca9b7122edf38690f" + }, + { + "m_Id": "d7d251a325ed40be9337e14af1235111" + }, + { + "m_Id": "7f286b09ef9c451cadc7cfd608ac7800" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "91741159fa314eef906ea0226588ad60", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "91d435b8adbe4257b49483c83210a915", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "93e24361fc4b48f395b362cd94ca7d46", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 4.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "96424779af544a08b4ed7e618ceab30a", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "97186548540041edbfe2559486d756ed", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "988d2ac7158f43ee884475f83e12521e", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "98e361b61b374bdb9a490b9a4cee3eb9", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9a75e3056b55470ca109e3f471b45825", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9d64d3ca031547498867d83983bd5f08", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9f22aadb9def4c9484683051abae4221", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9f2c74da12ad4818926d00e9d346a91f", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a25c4eb8b4ac4d67af620e6ac75e2b7c", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a469a474bfd24a94ad66ce165fb604d7", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a53aa8e818b94e5a9eec06f37fa5bd18", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a81abc3670884dabb1433b5146ec48d5", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "a81c5ef28fe643aa8eb2fb0726995cc8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7004.01708984375, + "y": -1878.83984375, + "width": 209.142578125, + "height": 303.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "3eac4ac272e44670802c826e3b2d7eaa" + }, + { + "m_Id": "b402a18613024632b18728a21ece6e55" + }, + { + "m_Id": "f5b734a705a74c6ead418474387d438b" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a98a24e13a154ed3bdf342c7223b1b3b", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "aa2b7257df8b4e938faf3f7e5e23b8b9", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "aabf6ad82462478daf4b147628006f56", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ae26bb5966a14582bc9fb7f75e6307bc", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b0058bd3ed2e4241aa7888d7e66f1ff2", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "b00c3d4d287542248774390a5821d9ee", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6324.0, + "y": -2144.0, + "width": 209.14306640625, + "height": 303.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "d9f486c4a0a2487990608468840d7370" + }, + { + "m_Id": "64c8cb5d2f8441b1886e4e02fbe2047b" + }, + { + "m_Id": "35219ebf37b24819a74425f3cdf2a1fc" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b29e8bb0ed67407294cf512a177b4301", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4956.5712890625, + "y": -2178.28564453125, + "width": 145.14306640625, + "height": 34.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "e0040d346800421da591ed52deca53f0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "45cb07d535ad4c64ba5fa24166f8df61" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b402a18613024632b18728a21ece6e55", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b4c8e20665b74b1ea390382746ad9571", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b8344dd348d64bd789eff0fcf209db42", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "ba5c1d30677e4c9d9285e7e972948434", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7116.0, + "y": -2144.0, + "width": 131.4287109375, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "96424779af544a08b4ed7e618ceab30a" + }, + { + "m_Id": "37b1459594794851b6b53123cc2fd0c2" + }, + { + "m_Id": "aa2b7257df8b4e938faf3f7e5e23b8b9" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "be6de66d33844e30a9274d826a58927a", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MaximumNode", + "m_ObjectId": "bfcca4b72f8b40789404c5746fe414be", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Maximum", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4510.28564453125, + "y": -1886.8572998046875, + "width": 126.85791015625, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "b0058bd3ed2e4241aa7888d7e66f1ff2" + }, + { + "m_Id": "9f2c74da12ad4818926d00e9d346a91f" + }, + { + "m_Id": "d16d8a61293b4307a3324bf2c8d2ff7c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c1fffa72775e4250af0352b9e5a14f35", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "c27f00b6cc7a4f8780e48fff5a26a920", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7400.5712890625, + "y": -2126.857177734375, + "width": 131.4287109375, + "height": 119.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "4b92370846974b06b1d544c689307893" + }, + { + "m_Id": "174c3ca1af314c069688aa9a55e82015" + }, + { + "m_Id": "97186548540041edbfe2559486d756ed" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "ca662bfab8f24545ab0652b61897ab3f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4869.71435546875, + "y": -2002.285888671875, + "width": 133.142578125, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "612edb2b15ac4b489da88ce832d5605a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "803456c297b24a5f8d91fe5ef8a882c0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "ca83c893763e4fab9d90ec5d1a331598", + "m_Id": 0, + "m_DisplayName": "SheenColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "cd9958207e4b4d4e883a84dbb1f8078e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5388.0, + "y": -2702.28564453125, + "width": 131.4287109375, + "height": 119.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "8d9db67fc9e44f46996b367ee59d33f8" + }, + { + "m_Id": "01c43205d2b74f6b8f3c898bed977403" + }, + { + "m_Id": "69b63610c42643a89fd9b23951878b13" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "cebc236c5cb84b0cb07da7c1dfb134eb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5037.14306640625, + "y": -2043.4287109375, + "width": 129.142578125, + "height": 95.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "5393b55b21404b40bdb7782a661d2bfc" + }, + { + "m_Id": "059a41f4b9f2472caf3f549bc12cf652" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d0485d1e3a714b99b6af3c9d8b576904", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d16d8a61293b4307a3324bf2c8d2ff7c", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d5e2b6f598864e13a690aa6f14e2574b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6977.71435546875, + "y": -2041.71435546875, + "width": 138.28564453125, + "height": 34.2857666015625 + } + }, + "m_Slots": [ + { + "m_Id": "71e2206c4df7465a862111bffb4092bf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5d8d0eb4052c4978a64b038cac64c33c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d654247fea174a3d83e3401b07c26653", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "d73cc6ded4a64249995a1a95b996b48a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 7269.14306640625, + "y": -1878.857177734375, + "width": 131.42822265625, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "2bfa7bca25f94ddfaff8c73f5a731af1" + }, + { + "m_Id": "91741159fa314eef906ea0226588ad60" + }, + { + "m_Id": "9f22aadb9def4c9484683051abae4221" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "d77896473ebb4e1083d071745800e60b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5519.4287109375, + "y": -2252.0, + "width": 129.142578125, + "height": 95.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "84d4af26875149f49e7734b0e9f4f498" + }, + { + "m_Id": "988d2ac7158f43ee884475f83e12521e" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MaximumNode", + "m_ObjectId": "d7ab2d0a7e194f0f8afdc7d8ccfd02a5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Maximum", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5332.0, + "y": -2204.0, + "width": 126.85693359375, + "height": 119.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "d8ca0d5f06f74eab8ab2519fa056eaa6" + }, + { + "m_Id": "7661020cbe65497da12f394e6aa71c1c" + }, + { + "m_Id": "9d64d3ca031547498867d83983bd5f08" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d7d251a325ed40be9337e14af1235111", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d87e2048603040f4b12b711b744ab3cd", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "d895e39dd4d44d9488df733ba08f0f94", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4549.14306640625, + "y": -2097.71435546875, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "a98a24e13a154ed3bdf342c7223b1b3b" + }, + { + "m_Id": "e3df60391deb427e993e37b9fd8e53a9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "d8b781d659644773bdc0ef753ee3a926", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d8ca0d5f06f74eab8ab2519fa056eaa6", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d8e9f0bd573443c3add8555bac07130f", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d9f486c4a0a2487990608468840d7370", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1Node", + "m_ObjectId": "df86fbf9940c4c4ab7217b9df073bb42", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Float", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 6246.02685546875, + "y": -1715.686767578125, + "width": 126.857421875, + "height": 78.28564453125 + } + }, + "m_Slots": [ + { + "m_Id": "64faa9fa37744ee8beb6fd06959dd641" + }, + { + "m_Id": "3bcb98c971934cdabcbce251b73b74c9" + } + ], + "synonyms": [ + "Vector 1", + "1", + "v1", + "vec1", + "scalar" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": 0.0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "e0040d346800421da591ed52deca53f0", + "m_Id": 0, + "m_DisplayName": "WorldNormal", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e1852d1837774ab1ac230d9a056f7980", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PowerNode", + "m_ObjectId": "e1a682ccd1ef49c39ef75477792c5742", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Power", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5780.0, + "y": -2263.428466796875, + "width": 126.85693359375, + "height": 119.428466796875 + } + }, + "m_Slots": [ + { + "m_Id": "d654247fea174a3d83e3401b07c26653" + }, + { + "m_Id": "a81abc3670884dabb1433b5146ec48d5" + }, + { + "m_Id": "7f39486bcf8945139ca7f61d1d2ca0bf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "e3cbe94d18c344d98ce11a4f0fb19433", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e3df60391deb427e993e37b9fd8e53a9", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e614cd05fe1a4948adeb3c48d22b0962", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "eac9f31f74fe4a709fe75e92ab331384", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5911.4482421875, + "y": -2042.837158203125, + "width": 209.14306640625, + "height": 303.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "a53aa8e818b94e5a9eec06f37fa5bd18" + }, + { + "m_Id": "eb24fc9e41244a23964a486865941c03" + }, + { + "m_Id": "7074c4130a1342b7abf43f440583045a" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "eb24fc9e41244a23964a486865941c03", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "ec9fc4e196ff4899a0c6803f41c031dd", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 5204.5712890625, + "y": -2668.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "d8e9f0bd573443c3add8555bac07130f" + }, + { + "m_Id": "87af01c6028c4162bd6744da45b2a434" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MaximumNode", + "m_ObjectId": "f0eb92a9ec414ee9b0801353d27857ac", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Maximum", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4669.71484375, + "y": -1817.7144775390625, + "width": 126.8564453125, + "height": 119.4285888671875 + } + }, + "m_Slots": [ + { + "m_Id": "d87e2048603040f4b12b711b744ab3cd" + }, + { + "m_Id": "c1fffa72775e4250af0352b9e5a14f35" + }, + { + "m_Id": "be6de66d33844e30a9274d826a58927a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f2fc6230a5af419ea8b51eb2738a9182", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PowerNode", + "m_ObjectId": "f350e1e6be3443749580c495b76e737d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Power", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 4993.71484375, + "y": -1698.285888671875, + "width": 126.8564453125, + "height": 119.4287109375 + } + }, + "m_Slots": [ + { + "m_Id": "82bccf8e0ff44d35a1a67ff30d2868ce" + }, + { + "m_Id": "7f38324f19fb4b08830d29fe930b1d65" + }, + { + "m_Id": "3260735c3f8942959e200dd3e51f8783" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f5b734a705a74c6ead418474387d438b", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + diff --git a/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph.meta b/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph.meta new file mode 100644 index 000000000..78fbb5cef --- /dev/null +++ b/Runtime/Shaders/ShaderGraph/Sheen.shadersubgraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 85ba8322ac6cb6c4aab962530c987fc0 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} diff --git a/Runtime/Shaders/VariantCollections.meta b/Runtime/Shaders/VariantCollections.meta new file mode 100644 index 000000000..84ea36405 --- /dev/null +++ b/Runtime/Shaders/VariantCollections.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89874c2de1f18446f9d96a3b6ce5acf0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset new file mode 100644 index 000000000..b4657f838 --- /dev/null +++ b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset @@ -0,0 +1,5771 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UnityGLTFShaderVariantCollection-BiRP + m_Shaders: + - first: {fileID: -6465566751694194690, guid: 478ce3626be7a5f4ea58d6b13f05a2e4, type: 3} + second: + variants: + - keywords: INSTANCING_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ON + passType: 0 + - first: {fileID: -6465566751694194690, guid: 59541e6caf586ca4f96ccf48a4813a51, type: 3} + second: + variants: + - keywords: INSTANCING_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: INSTANCING_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _BUILTIN_AlphaClip + passType: 0 + - keywords: _BUILTIN_AlphaClip _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON + passType: 0 diff --git a/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset.meta b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset.meta new file mode 100644 index 000000000..4bbafb2e1 --- /dev/null +++ b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection-BiRP.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 504f02ace8ebc0d4cad8cdd76795eb04 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset new file mode 100644 index 000000000..4f7d37b3f --- /dev/null +++ b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset @@ -0,0 +1,5538 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UnityGLTFShaderVariantCollection + m_Shaders: + - first: {fileID: -6465566751694194690, guid: 478ce3626be7a5f4ea58d6b13f05a2e4, type: 3} + second: + variants: + - keywords: INSTANCING_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: INSTANCING_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _ALPHATEST_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _ALPHATEST_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _CLEARCOAT_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _IRIDESCENCE_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SHEEN_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _SPECULAR_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ANDDISPERSION + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON + passType: 0 + - keywords: _VOLUME_TRANSMISSION_ON + passType: 0 + - first: {fileID: -6465566751694194690, guid: 59541e6caf586ca4f96ccf48a4813a51, type: 3} + second: + variants: + - keywords: INSTANCING_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON + passType: 0 + - keywords: INSTANCING_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: INSTANCING_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAMODULATE_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHAPREMULTIPLY_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _ALPHATEST_ON + passType: 0 + - keywords: _ALPHATEST_ON _TEXTURE_TRANSFORM_ON + passType: 0 + - keywords: _TEXTURE_TRANSFORM_ON + passType: 0 diff --git a/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset.meta b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset.meta new file mode 100644 index 000000000..36c98ad6e --- /dev/null +++ b/Runtime/Shaders/VariantCollections/UnityGLTFShaderVariantCollection.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 720923435480c9147a45917af5150f7a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Assets/Animation/SimpleAnimation.glb.meta b/Tests/Assets/Animation/SimpleAnimation.glb.meta index e3f8fb52e..63ad1e285 100644 --- a/Tests/Assets/Animation/SimpleAnimation.glb.meta +++ b/Tests/Assets/Animation/SimpleAnimation.glb.meta @@ -12,7 +12,7 @@ ScriptedImporter: userData: assetBundleName: assetBundleVariant: - script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + script: {instanceID: 0} _removeEmptyRootObjects: 1 _scaleFactor: 1 _maximumLod: 300 @@ -36,15 +36,14 @@ ScriptedImporter: _useSceneNameIdentifier: 1 _textureCompression: -50 optimizeGameObjects: 0 - materials: - - {fileID: 3297912226980038121, guid: 941ea53b9d7aafa4886b8bdd2c0f2963, type: 3} + materials: [] textures: [] hasSceneData: 1 hasAnimationData: 1 hasMaterialData: 1 - hasTextureData: 0 + hasTextureData: 1 animations: [] _extensions: [] _textures: [] - _mainAssetIdentifier: scenes/SimpleAnimation + _mainAssetIdentifier: _importPlugins: [] diff --git a/package.json b/package.json index 59d0d2edb..1d798fc47 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "org.khronos.unitygltf", "displayName": "UnityGLTF", - "version": "2.12.0", - "unity": "2020.3", - "description": "Import and export glTF 2.0 assets, both in the editor and at runtime. Excellent support for animations, materials, extensions. Can be extended with plugins for both import and export usecases.", + "version": "2.15.0", + "unity": "2021.3", + "description": "Import and export glTF 2.0 assets, both in the editor and at runtime. Excellent support for animations, materials, extensions. Can be extended with plugins for both import and export use cases.", "repository": { "url": "https://github.com/KhronosGroup/UnityGLTF.git" },